anchordocking: TControl.ChangeBounds loop detected when docking an already docked window to a docksite
Original Reporter info from Mantis: etrusco
-
Reporter name: Flávio Etrusco
Original Reporter info from Mantis: etrusco
- Reporter name: Flávio Etrusco
Description:
Steps to reproduce:
- run examples/anchordocking/minide/miniide.lpi
- dock the "message" window to the "editor" window
- dock the "message" window to the main window
- loop detected
Additional information:
Stack trace (FWIW):
#0 fpc_raiseexception at :0
#1 CHECKLOOP(0x20cec60) at .\include\control.inc:347
#2 TCONTROL__CHANGEBOUNDS(0, 64, 600, 17, false, <error reading variable>) at .\include\control.inc:369
#3 TANCHORDOCKHOSTSITE__CHANGEBOUNDS(0, 64, 600, 17, false, <error reading variable>) at anchordocking.pas:4184
#4 TCONTROL__SETBOUNDS(0, 64, 600, 17, <error reading variable>) at .\include\control.inc:3205
#5 TWINCONTROL__SETBOUNDS(0, 64, 600, 17, <error reading variable>) at .\include\wincontrol.inc:7837
#6 TCONTROL__SETHEIGHT(17, <error reading variable>) at .\include\control.inc:3483
#7 ALIGNCHILDS(0x20cee38) at anchordocking.pas:4974
#8 TANCHORDOCKMANAGER__RESETBOUNDS(false, <error reading variable>) at anchordocking.pas:4990
#9 TWINCONTROL__ALIGNCONTROLS(0x0, {LEFT = 0, TOP = 0, RIGHT = 600, BOTTOM = 164, TOPLEFT = {X = 0, Y = 0}, BOTTOMRIGHT = {X = 600, Y = 164}}, <error reading variable>) at .\include\wincontrol.inc:3133
#10 TSCROLLINGWINCONTROL__ALIGNCONTROLS(0x0, {LEFT = 0, TOP = 0, RIGHT = 600, BOTTOM = 164, TOPLEFT = {X = 0, Y = 0}, BOTTOMRIGHT = {X = 600, Y = 164}}, <error reading variable>) at .\include\scrollingwincontrol.inc:86
#11 TWINCONTROL__ALIGNCONTROL(0x0, <error reading variable>) at .\include\wincontrol.inc:6205
#12 AUTOSIZECONTROL(0x2cdf88, 0x20cf08c) at .\include\control.inc:2405
#13 TCONTROL__DOALLAUTOSIZE(<error reading variable>) at .\include\control.inc:2450
#14 TWINCONTROL__DOALLAUTOSIZE(<error reading variable>) at .\include\wincontrol.inc:3476
#15 TCONTROL__ENABLEAUTOSIZING(<error reading variable>) at .\include\control.inc:4850
#16 TWINCONTROL__ENABLEALIGN(<error reading variable>) at .\include\wincontrol.inc:3750
#17 TWINCONTROL__DODOCKCLIENTMSG(0x253a08, {X = 183, Y = 66}, <error reading variable>) at .\include\wincontrol.inc:7770
#18 TWINCONTROL__DOCKDROP(0x253a08, 183, 66, <error reading variable>) at .\include\wincontrol.inc:7683
#19 TCONTROL__DODRAGMSG(DMDRAGDROP, {X = 291, Y = 166}, 0x253a08, 0x2cdf88, true, <error reading variable>) at .\include\control.inc:1221
#20 TWINCONTROL__DODRAGMSG(DMDRAGDROP, {X = 291, Y = 166}, 0x253a08, 0x2cdf88, true, <error reading variable>) at .\include\wincontrol.inc:3802
#21 TDRAGDOCKCOMMON__SENDDRAGMESSAGE(0x2cdf88, DMDRAGDROP, 0x253a08, 0x2cdf88, {X = 291, Y = 166}, <error reading variable>) at .\include\dragmanager.inc:120
#22 TDOCKPERFORMER__DRAGSTOP(true, <error reading variable>) at .\include\dragmanager.inc:597
#23 TDRAGMANAGERDEFAULT__DRAGSTOP(true, <error reading variable>) at .\include\dragmanager.inc:689
#24 TDRAGMANAGERDEFAULT__CAPTURECHANGED(0x349a528, <error reading variable>) at .\include\dragmanager.inc:805
#25 TCONTROL__CAPTURECHANGED(<error reading variable>) at .\include\control.inc:3673
#26 TCONTROL__LMCAPTURECHANGED({MSG = 533, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\control.inc:674
#27 SYSTEM_TOBJECT_$__DISPATCH$formal at :0
#28 TCONTROL__ISPROCESSINGPAINTMSG(<error reading variable>) at .\include\control.inc:666
#29 TWINCONTROL__WNDPROC({MSG = 533, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:5241
#30 TCUSTOMFORM__WNDPROC({MSG = 533, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\customform.inc:1368
#31 DELIVERMESSAGE(0x349a528, void) at lclmessageglue.pas:111
#32 WINDOWPROC(329502, 533, 0, 0) at .\win32\win32callback.inc:2397
#33 CUSTOMFORMWNDPROC(329502, 533, 0, 0) at .\win32\win32wsforms.pp:375
#34 USER32!IsWindowVisible at :0
#35 ?? at :0
#36 USER32!IsWindowVisible at :0
#37 ADJUSTFORMBOUNDS at .\win32\win32wsforms.pp:322
#38 USER32!GetSystemMenu at :0
#39 ?? at :0
Mantis conversion info:
- Mantis ID: 19132
- Version: 0.9.31 (SVN)