Strange Bug: Restoring minimized Progs closes them lazarus / 64-FPC development ---------------------------------------------------------------------- Pascal · 2017-03-24 12:46 I have a strange bug with lazarus trunk (54473) and FPC trunk (35650). The IDE and other programs close when they are restored from minimized state. WM_SHOWWINDOW also does WM_CLOSE. When switching back to FPC 3.0.2 everything is okay again. ---------------------------------------------------------------------- Pascal · 2017-03-24 12:57 This is the stack trace at OnClose: Code: Text  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i #0 TFORM1__FORMCLOSE(0x28402c8, CAFREE, ) at unit1.pas:33#1 TCUSTOMFORM__DOCLOSE(CAFREE, ) at .\include\customform.inc:966#2 TCUSTOMFORM__CLOSE() at .\include\customform.inc:2212#3 TCUSTOMFORM__WMCLOSEQUERY({MSG = 66622, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, WPARAMFILLER = {}, LPARAMLO = 0, LPARAMHI = 0, LPARAMFILLER = {}, RESULTLO = 0, RESULTHI = 0, RESULTFILLER = {}}, ) at .\include\customform.inc:2292#4 SYSTEM$_$TOBJECT_$__$$_DISPATCH$formal at :0#5 VMT_$FORMS_$$_TCUSTOMFORM at :0#6 ?? at :0#7 TWINCONTROL__WNDPROC({MSG = 66622, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, WPARAMFILLER = {}, LPARAMLO = 0, LPARAMHI = 0, LPARAMFILLER = {}, RESULTLO = 0, RESULTHI = 0, RESULTFILLER = {}}, ) at .\include\wincontrol.inc:5395#8 TCUSTOMFORM__WNDPROC({MSG = 66622, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, WPARAMFILLER = {}, LPARAMLO = 0, LPARAMHI = 0, LPARAMFILLER = {}, RESULTLO = 0, RESULTHI = 0, RESULTFILLER = {}}, ) at .\include\customform.inc:1474#9 DELIVERMESSAGE(0x28402c8, ) at lclmessageglue.pas:112#10 TWINDOWPROCHELPER__DOWINDOWPROC() at .\win32\win32callback.inc:2499#11 WINDOWPROC(4918112, 16, 0, 0) at .\win32\win32callback.inc:2672#12 CUSTOMFORMWNDPROC(4918112, 16, 0, 0) at .\win32\win32wsforms.pp:386#13 USER32!SetManipulationInputTarget at :0#14 USER32!DispatchMessageW at :0#15 USER32!EndTask at :0#16 ADJUSTFORMBOUNDS(0x27dd360, ) at .\win32\win32wsforms.pp:305#17 USER32!SendMessageA at :0#18 TWINDOWPROCHELPER__DOWINDOWPROC() at .\win32\win32callback.inc:2023#19 WINDOWPROC(3213574, 19, 0, 0) at .\win32\win32callback.inc:2672#20 USER32!SetManipulationInputTarget at :0#21 USER32!DispatchMessageW at :0#22 USER32!DispatchMessageW at :0#23 USER32!MsgWaitForMultipleObjectsEx at :0#24 ntdll!KiUserCallbackDispatcher at :0#25 ?? at :0#26 USER32!SetRect at :0#27 UxTheme!OpenThemeData at :0#28 UxTheme!GetThemeBool at :0#29 USER32!DispatchMessageW at :0#30 TWINDOWPROCHELPER__DOSYSCMDRESTORE() at .\win32\win32callback.inc:1007#31 TWINDOWPROCHELPER__HANDLESYSCOMMAND() at .\win32\win32callback.inc:1043#32 TWINDOWPROCHELPER__DOWINDOWPROC() at .\win32\win32callback.inc:2318#33 WINDOWPROC(3213574, 274, 61728, 0) at .\win32\win32callback.inc:2672#34 USER32!SetManipulationInputTarget at :0#35 USER32!DispatchMessageW at :0#36 USER32!DispatchMessageW at :0#37 USER32!DispatchMessageW at :0#38 TWIN32WIDGETSET__APPPROCESSMESSAGES() at .\win32\win32object.inc:407#39 TAPPLICATION__HANDLEMESSAGE() at .\include\application.inc:1286#40 TAPPLICATION__RUNLOOP() at .\include\application.inc:1424#41 TWIDGETSET__APPRUN(0x422f80 , ) at .\include\interfacebase.inc:54#42 TAPPLICATION__RUN() at .\include\application.inc:1412#43 main at C:\Users\RIEKEN~1\AppData\Local\Temp\X-Lazarus\project1.lpr:19  OnClose is fired a second time: Code: Text  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i #0 TFORM1__FORMCLOSE(0x28402c8, CAFREE, ) at unit1.pas:33#1 TCUSTOMFORM__DOCLOSE(CAFREE, ) at .\include\customform.inc:966#2 TCUSTOMFORM__CLOSE() at .\include\customform.inc:2212#3 TCUSTOMFORM__WMCLOSEQUERY({MSG = 66622, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, WPARAMFILLER = {}, LPARAMLO = 0, LPARAMHI = 0, LPARAMFILLER = {}, RESULTLO = 0, RESULTHI = 0, RESULTFILLER = {}}, ) at .\include\customform.inc:2292#4 SYSTEM$_$TOBJECT_$__$$_DISPATCH$formal at :0#5 VMT_$FORMS_$$_TCUSTOMFORM at :0#6 ?? at :0#7 TWINCONTROL__WNDPROC({MSG = 66622, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, WPARAMFILLER = {}, LPARAMLO = 0, LPARAMHI = 0, LPARAMFILLER = {}, RESULTLO = 0, RESULTHI = 0, RESULTFILLER = {}}, ) at .\include\wincontrol.inc:5395#8 TCUSTOMFORM__WNDPROC({MSG = 66622, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, WPARAMFILLER = {}, LPARAMLO = 0, LPARAMHI = 0, LPARAMFILLER = {}, RESULTLO = 0, RESULTHI = 0, RESULTFILLER = {}}, ) at .\include\customform.inc:1474#9 DELIVERMESSAGE(0x28402c8, ) at lclmessageglue.pas:112#10 TWINDOWPROCHELPER__DOWINDOWPROC() at .\win32\win32callback.inc:2499#11 WINDOWPROC(4918112, 16, 0, 0) at .\win32\win32callback.inc:2672#12 CUSTOMFORMWNDPROC(4918112, 16, 0, 0) at .\win32\win32wsforms.pp:386#13 USER32!SetManipulationInputTarget at :0#14 USER32!DispatchMessageW at :0#15 USER32!EndTask at :0#16 ADJUSTFORMBOUNDS(0x27dd480, ) at .\win32\win32wsforms.pp:305#17 USER32!SendMessageA at :0#18 TWINDOWPROCHELPER__DOWINDOWPROC() at .\win32\win32callback.inc:2023#19 WINDOWPROC(3213574, 19, 0, 0) at .\win32\win32callback.inc:2672#20 USER32!SetManipulationInputTarget at :0#21 USER32!DispatchMessageW at :0#22 USER32!DispatchMessageW at :0#23 USER32!MsgWaitForMultipleObjectsEx at :0#24 ntdll!KiUserCallbackDispatcher at :0#25 ?? at :0#26 TWINDOWPROCHELPER__DOWINDOWPROC() at .\win32\win32callback.inc:2308#27 WINDOWPROC(4918112, 24, 1, 0) at .\win32\win32callback.inc:2672#28 CUSTOMFORMWNDPROC(4918112, 24, 1, 0) at .\win32\win32wsforms.pp:386#29 USER32!SetManipulationInputTarget at :0#30 USER32!DispatchMessageW at :0#31 USER32!DispatchMessageW at :0#32 USER32!MsgWaitForMultipleObjectsEx at :0#33 ntdll!KiUserCallbackDispatcher at :0#34 ?? at :0#35 TWINDOWPROCHELPER__HANDLESYSCOMMAND() at .\win32\win32callback.inc:1043#36 TWINDOWPROCHELPER__DOWINDOWPROC() at .\win32\win32callback.inc:2318#37 WINDOWPROC(3213574, 274, 61728, 0) at .\win32\win32callback.inc:2672#38 USER32!SetManipulationInputTarget at :0#39 USER32!DispatchMessageW at :0#40 USER32!DispatchMessageW at :0#41 USER32!DispatchMessageW at :0#42 TWIN32WIDGETSET__APPPROCESSMESSAGES() at .\win32\win32object.inc:407#43 TAPPLICATION__HANDLEMESSAGE() at .\include\application.inc:1286#44 TAPPLICATION__RUNLOOP() at .\include\application.inc:1424#45 TWIDGETSET__APPRUN(0x422f80 , ) at .\include\interfacebase.inc:54#46 TAPPLICATION__RUN() at .\include\application.inc:1412#47 main at C:\Users\RIEKEN~1\AppData\Local\Temp\X-Lazarus\project1.lpr:19 ---------------------------------------------------------------------- Cyrax · 2017-03-24 16:08 I can't reproduce your problem. Both 32- and 64-bit Lazarus behaves normally when restoring from minimized state. Do you have anchordocking package installed into your IDE? Windows Server 2008 R2 SP1. FPC trunk r35650, build with these options : Quoteclean all install OPT=-gw2 -godwarfsets -godwarfmethodclassprefix -gl -O- -Xs- -Si- -vbq -dTEST_WIN32_SEH COMPILER_OPTIONS=-gw2 -godwarfsets -godwarfmethodclassprefix -gl -O- -Xs- -Si- -vbq -dTEST_WIN32_SEH OS_TARGET=win32 CPU_TARGET=i386 REVSTR=35650 UPXPROG=echo IDE=1 NOWPOCYCLE=1 INSTALL_PREFIX=j:\free_pascal_and_lazarus_new4\fpc\i386\win32\binary\3 .1.1\fpc_trunk\trunk LOCAL_FPMAKE_OPT=--verbose ALLTARGET=all Lazarus trunk r54471, build with these options: Quoteclean all "OPT=-gw2 -godwarfsets -godwarfmethodclassprefix -gl -gh -O- -Si- -vb -dHEAPTRC_WINDOW -dDBG_WITH_DEBUGGER_DEBUG" UPXPROG=echo USESVN2REVISIONINC=0 ---------------------------------------------------------------------- Pascal · 2017-03-27 07:53 Yes anchordocking is installed. But also simple App quits on restoring from minimized state. I will try a clean checkout later. ---------------------------------------------------------------------- Pascal · 2017-03-27 08:01 See http://bugs.freepascal.org/view.php?id=31589