ariccio / altWinDirStat

An unofficial modification of WinDirStat
Other
623 stars 41 forks source link

Windows 10 UI Issues #9

Closed kin0025 closed 9 years ago

kin0025 commented 9 years ago

In windows 10, the release build loads, however the UI looks like this: image

and the debug build crashes with the error:

Microsoft Visual C++ Runtime Library

Debug Assertion Failed!

Program: D:\windirstat_debug_64.exe File: c:\users\alexander riccio\documents\github\altwindirstat\windirstat\windirstat\ownerdrawnlistcontrol.h Line: 631

primeinc commented 9 years ago

This is happening on Windows 8.1 Enterprise & Windows 10 Enterprise, It looks like it's a display bug.

awds-2

Performance is ridiculously amazing btw, great job.

If it helps here is the output when building & running the src

'windirstat.exe' (Win32): Loaded 'C:\Users\prime\src\altWinDirStat\WinDirStat\windirstat\Debug\windirstat.exe'. Symbols loaded.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntdll.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel32.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\KernelBase.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\psapi.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\user32.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\gdi32.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msimg32.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\comdlg32.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\winspool.drv'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\advapi32.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\shell32.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.9600.17810_none_a9edf09f013934e0\comctl32.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\shlwapi.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\uxtheme.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ole32.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\oleaut32.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\oledlg.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\oleacc.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.9600.17415_none_dad8722c5bcc2d8f\GdiPlus.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\imm32.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\winmm.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcrt.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sechost.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\rpcrt4.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\combase.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msctf.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\winmmbase.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sspicli.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cfgmgr32.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\devobj.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\SHCore.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cryptbase.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\bcryptprimitives.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\nvinit.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\version.dll'. Cannot find or open the PDB file.
windirstat.cpp(322) : atlTraceGeneral - ------>Program entry point!<------
windirstat.cpp(132) : atlTraceGeneral - Enabled HeapEnableTerminationOnCorruption!
windirstat.cpp(150) : atlTraceGeneral - Successfully enabled bottom-up randomization, forcible image relocation, and refusal to load images without a `.reloc` section (DisallowStrippedImages).
windirstat.cpp(182) : atlTraceGeneral - Successfully disabled Extension Points, ancient & insecure extension points are now forbidden.
windirstat.cpp(197) : atlTraceGeneral - Successfully enabled strict invalid handle checking.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel.appcore.dll'. Cannot find or open the PDB file.
windirstat.cpp(45) : atlTraceGeneral - CrtDbg state: 1
    _CRTDBG_ALLOC_MEM_DF: 1
    _CRTDBG_CHECK_CRT_DF: 0
    _CRTDBG_LEAK_CHECK_DF: 0
    _CRTDBG_DELAY_FREE_MEM_DEF: 0
windirstat.cpp(49) : atlTraceGeneral - CrtDbg state: 33
    _CRTDBG_ALLOC_MEM_DF: 1
    _CRTDBG_CHECK_CRT_DF: 0
    _CRTDBG_LEAK_CHECK_DF: 32
    _CRTDBG_DELAY_FREE_MEM_DEF: 0
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dwmapi.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\clbcatq.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ExplorerFrame.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\duser.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dui70.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\WindowsCodecs.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\profapi.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cryptsp.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\rsaenh.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\bcrypt.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\propsys.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Program Files (x86)\Common Files\Microsoft Shared\Ink\tiptsf.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\setupapi.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\apphelp.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\zipfldr.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\thumbcache.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Program Files (x86)\Microsoft Office\root\Office16\GROOVEEX.DLL'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Program Files (x86)\Microsoft Office\root\Office16\vcruntime140.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Program Files (x86)\Microsoft Office\root\Office16\msvcp140.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Program Files (x86)\Microsoft Office\root\Office16\api-ms-win-crt-runtime-l1-1-0.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Program Files (x86)\Microsoft Office\root\Office16\api-ms-win-crt-string-l1-1-0.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Program Files (x86)\Microsoft Office\root\Office16\api-ms-win-crt-heap-l1-1-0.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Program Files (x86)\Microsoft Office\root\Office16\api-ms-win-crt-stdio-l1-1-0.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Program Files (x86)\Microsoft Office\root\Office16\api-ms-win-crt-convert-l1-1-0.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Program Files (x86)\Microsoft Office\root\Office16\api-ms-win-crt-locale-l1-1-0.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Program Files (x86)\Microsoft Office\root\Office16\api-ms-win-crt-utility-l1-1-0.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Program Files (x86)\Microsoft Office\root\Office16\api-ms-win-crt-time-l1-1-0.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Program Files (x86)\Microsoft Office\root\Office16\api-ms-win-crt-math-l1-1-0.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Program Files (x86)\Microsoft Office\root\Office16\api-ms-win-crt-filesystem-l1-1-0.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Program Files (x86)\Microsoft Office\root\Office16\api-ms-win-crt-multibyte-l1-1-0.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Program Files (x86)\Microsoft Office\root\Office16\api-ms-win-crt-environment-l1-1-0.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Program Files (x86)\Microsoft Office\root\Office16\ucrtbase.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msi.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\networkexplorer.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Program Files (x86)\Microsoft Office\root\Office16\1033\GrooveIntlResource.dll'. Module was built without symbols.
'windirstat.exe' (Win32): Loaded 'C:\Program Files\Perforce\p4exp.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ws2_32.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcr100.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcp100.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\nsi.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\mssprxy.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\mpr.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\drprov.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\winsta.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntlanman.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\wkscli.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cscapi.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\netutils.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dlnashext.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\PlayToDevice.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\DevDispItemProvider.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\wpdshext.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\PortableDeviceApi.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\wintrust.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\crypt32.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msasn1.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\audiodev.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\WMVCORE.DLL'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\WMASF.DLL'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntshrui.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\srvcli.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ieframe.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Loaded 'C:\Windows\SysWOW64\iertutil.dll'. Cannot find or open the PDB file.
'windirstat.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\thumbcache.dll'
'windirstat.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\WMVCORE.DLL'
'windirstat.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\WMASF.DLL'
'windirstat.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\audiodev.dll'
'windirstat.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\wpdshext.dll'
dirstatdoc.cpp(267) : atlTraceGeneral - _theDocument has been set to 00E88268
dirstatview.cpp(28) : atlTraceGeneral - Loading persistent attributes....
typeview.cpp(291) : atlTraceGeneral - Loading persistent attributes....
mainframe.cpp(378) : atlTraceGeneral - sizeof CTreeListItem: 48
mountpoints.cpp(107) : atlTraceGeneral - GetVolumeNameForVolumeMountPoint(S:\) failed.
mountpoints.cpp(107) : atlTraceGeneral - GetVolumeNameForVolumeMountPoint(T:\) failed.
mountpoints.cpp(107) : atlTraceGeneral - GetVolumeNameForVolumeMountPoint(X:\) failed.
mountpoints.cpp(107) : atlTraceGeneral - GetVolumeNameForVolumeMountPoint(Z:\) failed.
mountpoints.cpp(150) : atlTraceGeneral - No volume mnt pts on (\\?\Volume{5fe3b3f9-3909-4190-9e3e-3df31c2be9f2}\).
mountpoints.cpp(150) : atlTraceGeneral - No volume mnt pts on (\\?\Volume{99ddeedb-489e-41dd-a41b-2ee4f43a0c1c}\).
mountpoints.cpp(150) : atlTraceGeneral - No volume mnt pts on (\\?\Volume{a612cdf5-cb38-4f01-8147-14cf3c36d600}\).
mountpoints.cpp(150) : atlTraceGeneral - No volume mnt pts on (\\?\Volume{597585a0-b095-47e5-b8eb-4c65befc32c7}\).
mountpoints.cpp(150) : atlTraceGeneral - No volume mnt pts on (\\?\Volume{6d5d649a-b515-4afe-b8d8-b6570e6a9c64}\).
dirstatdoc.cpp(332) : atlTraceGeneral - Opening new document, path: C:\
dirstatdoc.cpp(350) : atlTraceGeneral - **BANG** ---AAAAND THEY'RE OFF! THE RACE HAS BEGUN!
TreeListControl.cpp(1797) : atlTraceGeneral - item `C:\` has a child count of ZERO! Not expanding! 
TreeListControl.cpp(1848) : atlTraceGeneral - Inserting items ( expansion ) took 0.000147!
TreeListControl.cpp(1857) : atlTraceGeneral - Inserting items (sort/redraw) took 0.000106!
options.cpp(202) : atlTraceGeneral - Decoding window placement! wp.flags, wp.showCmd, wp.ptMinPosition.x, wp.ptMinPosition.y, wp.ptMaxPosition.x, wp.ptMaxPosition.y, wp.rcNormalPosition.left, wp.rcNormalPosition.right, wp.rcNormalPosition.top, wp.rcNormalPosition.bottom: 0,1,-1,-1,-1,-1,-1153,-85,202,892
options.cpp(209) : atlTraceGeneral - swscanf_s result: 10
options.cpp(210) : atlTraceGeneral - WINDOWPLACEMENT:
    wp.flags: 0,
    wp.showCmd: 1,
    wp.ptMinPosition.x: -1,
    wp.ptMinPosition.y: -1,
    wp.ptMaxPosition.x: -1,
    wp.ptMaxPosition.y: -1,
    wp.rcNormalPosition.left: -1153,
    wp.rcNormalPosition.right: -85,
    wp.rcNormalPosition.top: 202,
    wp.rcNormalPosition.bottom: 892
dirstatview.cpp(23) : atlTraceGeneral - CDirstatView::OnEraseBkgnd!
Debug Assertion Failed!

Program: ...\src\altWinDirStat\WinDirStat\windirstat\Debug\windirstat.exe
File: c:\users\prime\src\altwindirstat\windirstat\windirstat\ownerdrawnlistcontrol.h
Line: 631
ariccio commented 9 years ago

Thanks @KIN0025 & @primeinc for reporting bugs, I very much so appreciate it. I'm a bit behind on my GitHub notifications - sorry for the delay!*

Debug Assertion Failed!

Program: D:\windirstat_debug_64.exe File: c:\users\alexander riccio\documents\github\altwindirstat\windirstat\windirstat\ownerdrawnlistcontrol.h Line: 631

Ahh, I think I see what the problem is. The line of code in question is checking whether the order of each item in the CHeaderCtrl is equivalent to the default order. I must've left that in from testing. I'm not immediately sure what the screwed up display is, I'm going to look into that.

This is happening on Windows 8.1 Enterprise & Windows 10 Enterprise, It looks like it's a display bug.

The screenshot with comment is quite helpful. It looks related to @KIN0025's issue.

I'll look into them. I think I'm incorrectly initializing the RECTs.

ariccio commented 9 years ago

I can reproduce the bug by deleting the "columnOrder" subkeys in HKEY_CURRENT_USER\SOFTWARE\Seifert\altWinDirStat\persistence. That explains why it wasn't visible on my dev machine.

That also explains why it seems to work on machines that've used "vanilla" WDS before - Did either of you use WDS before?

ariccio commented 9 years ago

I've committed a fix for this issue, but I didn't bother fixing it on a separate bugfix branch. Thus, the fix won't be immediately available. I need to tweak the branch a bit before merging with master, and I'll update here when I release a new version.

primeinc commented 9 years ago

I think your right on track, I just tried changing the order of the columns and closed and reopened. They show up after that. Thanks for tracking it down.

heffeque commented 9 years ago

Any news on a date for a new release version? Weeks? Months? Any means on trying to cooperate between this and the original WinDirStat? Just curiosity, no hurry or anything.

ariccio commented 9 years ago

Any news on a date for a new release version? Weeks? Months?

It should be just a couple more days. I'm cleanup up and testing the code a bit, and need to check a few more spots first.

ariccio commented 9 years ago

ariccio closed this issue  less than a minute ago

ariccio reopened this issue  less than a minute ago

Also, typeahead/tapahead is really annoying.

ariccio commented 9 years ago

Any means on trying to cooperate between this and the original WinDirStat?

Yup, see "Questions" (issue #4).

ariccio commented 9 years ago

Ok, I've tested everything. If all goes well, I'll merge, build, and upload a new binary tomorrow.

ariccio commented 9 years ago

Alrighty, you can grab the fixed build over at releases.

Once again, thanks for reporting!