Home » U++ Library support » U++ Widgets - General questions or Mixed problems » [BUG] TheIDE doesn't restore window state correctly on Linux
[BUG] TheIDE doesn't restore window state correctly on Linux [message #30566] |
Sat, 08 January 2011 21:25 |
|
Hi,
Some of the recent changes to maximize/minimize handling and/or SerializePlacement() causes that theide is no longer started in maximized state. The problem is, that now it doesn't restore correctly the state after restart, i.e. if I close maximized ide, it opens in normal state next time.
The logs from serialization say (only ide serialization related logs shown here for clarity):// Backup serialization before loading new data from file
TopWindow::SerializePlacement / write
minimized = false, maximized = true
rect = [0, 0] - [0, 0] : (0, 0), overlapped = [0, 0] - [0, 0] : (0, 0)
// LoadFromFile(ide); (ide/idewin.cpp:1003)
TopWindow::SerializePlacement / read
minimized = false, maximized = true
rect = [0, 15] - [1024, 600] : (1024, 585), overlapped = [0, 0] - [0, 0] : (0, 0)
// StoreToFile(ide); (ide/idewin.cpp:1031)
TopWindow::SerializePlacement / write
minimized = false, maximized = false
rect = [8, 32] - [1016, 592] : (1008, 560), overlapped = [0, 0] - [0, 0] : (0, 0)
// StoreToFile(ide); (ide/idewin.cpp:1036)
TopWindow::SerializePlacement / write
minimized = false, maximized = false
rect = [8, 32] - [1016, 592] : (1008, 560), overlapped = [0, 0] - [0, 0] : (0, 0)
As you can see, the StoreToFile() is called twice and between the calls the ide.state changes its value. I tried to track down where the change occures and got into ProcessEvents() call Then I got lost (couldn't find out which event triggers the change). The backtrace at this point was:ProcessEvents () at /home/h/upp-production/uppsrc/CtrlCore/X11Wnd.cpp:362
Process (this=0xbffe4d88) at /home/h/upp-production/uppsrc/CtrlLib/Progress.cpp:199
Setxt (this=0xbffe4d88) at /home/h/upp-production/uppsrc/CtrlLib/Progress.cpp:206
Create (this=0xbffe4d88) at /home/h/upp-production/uppsrc/CtrlLib/Progress.cpp:183
Process (this=0xbffe4d88) at /home/h/upp-production/uppsrc/CtrlLib/Progress.cpp:193
Setxt (this=0xbffe4d88) at /home/h/upp-production/uppsrc/CtrlLib/Progress.cpp:206
Set (this=0xbffe4d88, apos=37, atotal=0) at /home/h/upp-production/uppsrc/CtrlLib/Progress.cpp:221
Step (this=0xbffe4d88, n=1) at /home/h/upp-production/uppsrc/CtrlLib/Progress.cpp:236
SyncRefsDir (dir=0xaf104210 "/home/h/MyApps/Wizard", rel=..., pi=...) at /home/h/upp-production/uppsrc/ide/Browser/TopicBase.cpp:178
SyncRefsDir (dir=0xaf10c518 "/home/h/MyApps", rel=..., pi=...) at /home/h/upp-production/uppsrc/ide/Browser/TopicBase.cpp:198
SyncRefs () at /home/h/upp-production/uppsrc/ide/Browser/TopicBase.cpp:209
SetMain (this=0xbffe58c0, package=...) at /home/h/upp-production/uppsrc/ide/ide.cpp:140
OpenMainPackage (this=0xbffe58c0) at /home/h/upp-production/uppsrc/ide/ide.cpp:172
GuiMainFn_ () at /home/h/upp-production/uppsrc/ide/idewin.cpp:1030
main (argc=1, argv=0xbffff984, envptr=0xbffff98c) at /home/h/upp-production/uppsrc/ide/idewin.cpp:731
I'm afraid that fixing this goes beyond my abilities Mirek, (or any other volunteer ), could you have a look at it? It is not really that much annoying to maximize theide every time, but my desire for perfection suffers
BTW: In GUI_APP_MAIN there is (ide/idewin.cpp:839):The call to Maximize is overwritten later, so it doesn't really matter and could be removed.
Best regards,
Honza
|
|
|
Goto Forum:
Current Time: Fri Jun 07 02:11:48 CEST 2024
Total time taken to generate the page: 0.02044 seconds
|