Commit Graph
11 Commits
Author SHA1 Message Date
Dana Jansens c69769f0ae More fixing for fade-outs.
When a window is destroyed, always override the fade out so that the finish_destroy_win function can be called.
When a ConfigureNotify event is processed on an unmapped window, don't set the clipChanged = True.  Fixes unmap->configure causing flashing during the fade-out.
2008-02-20 11:35:44 -05:00
Dana Jansens f717d14a38 Ignore some X errors that can occur in normal use 2008-02-20 11:35:40 -05:00
Dana Jansens 9339584771 Fix races that occur when a window id is destroyed and recreated very quickly. This behaviour happens when restarting the window manager.
Don't use windows that are destroyed when restacking other windows or when handling events on a window id.  It is possible for the same window id to appear in the window list multiple times if it is destroyed then created before the destroy fade-out completes.
2008-02-20 00:42:46 -05:00
Dana Jansens dde2509cdc Plug 3 memory leaks, and make fading windows always draw so that fast desktop changing doesn't make windows become invisible. 2008-02-15 19:01:37 -05:00
Dana Jansens 27ca5f291c Save ConfigureNotify events for unmapped windows until the window maps. If a window moves while it is unmapped, it should not affect its fade-out.
A window can move/resize while it is fading out.  Even if you don't delete the pixmap in that case, the fade-out will be shown in the wrong place and the wrong area on screen will be marked damaged when the window is gone without this patch.
2008-02-15 11:12:54 -05:00
Dana Jansens db45bafdc4 register the _NET_WM_CM_S hint with the correct screen number 2008-02-15 10:46:01 -05:00
Dana Jansens c213ab27ff Remove some spurious code
If the window is fading out, then the new fade-in will execute the finish_unmap/destroy, and that will kill the pixmap already.
2008-02-15 10:46:01 -05:00
Dana Jansens 873402251a Make shadows, fading, and opacity based on the window type. Add support for the extended window type atoms. Add a "-m" option to set opacity for menu windows. 2008-02-15 10:45:55 -05:00
Dana Jansens 398f722ce1 Fix some rare memory leaks and behaviour when a mapped window is reparented away from root
When a window that is mapped is reparented away from root, that is the same as it being completely unmapped+destroyed from our persective.  The window will no longer be in the same position on screen, and we will no longer want to listen to events on it.
Prior to this, the w->pixmap would not be freed when a mapped window was reparented away from root, and damage would not be updated for the screen correctly.
2008-02-14 17:35:55 -05:00
Dana Jansens 2c1a928e59 Fixes for window fade-outs
When a window resizes while it is unmapped, don't destroy it's pixmap, as that kills and fade going on.
If a window is already unmapped (and therefore already fading out, don't override the fadeout with a new one when the window is destroyed.
When a window maps, if it already has a pixmap, this is stale data, so free it so that a new pixmap can be retrieved from the newly mapped window.
2008-02-14 17:13:05 -05:00
Dana JansensandEric Anholt 73f6ed3310 Fix a server resource leak on destroying windows. 2008-02-13 11:24:32 -08:00