mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-20 21:08:08 +01:00
- Fixed a bug that crashed wmaker when closing a window if multiple screens
were managed by wmaker (Valery Kotchiev <aggregator@nospam.dk>) - Fixed a problem that crashed wmaker when trying to read an unexisting WMState.<number> file on multihead system. - Fixed problem with keyboard shortcuts executed an every screen for multihead systems.
This commit is contained in:
29
src/event.c
29
src/event.c
@@ -556,23 +556,24 @@ handleDestroyNotify(XEvent *event)
|
||||
wUnmanageWindow(wwin, False, True);
|
||||
}
|
||||
|
||||
while ((index = WMFindInArray(scr->fakeGroupLeaders, matchWindow,
|
||||
(void*)window)) != WANotFound) {
|
||||
WFakeGroupLeader *fPtr;
|
||||
if (scr != NULL) {
|
||||
while ((index = WMFindInArray(scr->fakeGroupLeaders, matchWindow,
|
||||
(void*)window)) != WANotFound) {
|
||||
WFakeGroupLeader *fPtr;
|
||||
|
||||
fPtr = WMGetFromArray(scr->fakeGroupLeaders, index);
|
||||
if (fPtr->retainCount > 0) {
|
||||
fPtr->retainCount--;
|
||||
if (fPtr->retainCount==0 && fPtr->leader!=None) {
|
||||
XDestroyWindow(dpy, fPtr->leader);
|
||||
fPtr->leader = None;
|
||||
XFlush(dpy);
|
||||
fPtr = WMGetFromArray(scr->fakeGroupLeaders, index);
|
||||
if (fPtr->retainCount > 0) {
|
||||
fPtr->retainCount--;
|
||||
if (fPtr->retainCount==0 && fPtr->leader!=None) {
|
||||
XDestroyWindow(dpy, fPtr->leader);
|
||||
fPtr->leader = None;
|
||||
XFlush(dpy);
|
||||
}
|
||||
}
|
||||
fPtr->origLeader = None;
|
||||
}
|
||||
fPtr->origLeader = None;
|
||||
}
|
||||
|
||||
|
||||
app = wApplicationOf(window);
|
||||
if (app) {
|
||||
if (window == app->main_window) {
|
||||
@@ -1364,8 +1365,8 @@ handleKeyPress(XEvent *event)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if (command < 0) {
|
||||
#ifdef LITE
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user