Merge branch 'KDE/4.8'
This commit is contained in:
commit
3b05369ebb
2 changed files with 17 additions and 20 deletions
|
@ -1990,9 +1990,12 @@ void Client::getMotifHints()
|
||||||
|
|
||||||
// mminimize; - Ignore, bogus - E.g. shading or sending to another desktop is "minimizing" too
|
// mminimize; - Ignore, bogus - E.g. shading or sending to another desktop is "minimizing" too
|
||||||
// mmaximize; - Ignore, bogus - Maximizing is basically just resizing
|
// mmaximize; - Ignore, bogus - Maximizing is basically just resizing
|
||||||
|
const bool closabilityChanged = motif_may_close != mclose;
|
||||||
motif_may_close = mclose; // Motif apps like to crash when they set this hint and WM closes them anyway
|
motif_may_close = mclose; // Motif apps like to crash when they set this hint and WM closes them anyway
|
||||||
if (isManaged())
|
if (isManaged())
|
||||||
updateDecoration(true); // Check if noborder state has changed
|
updateDecoration(true); // Check if noborder state has changed
|
||||||
|
if (decoration && closabilityChanged)
|
||||||
|
decoration->reset(KDecoration::SettingButtons);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Client::readIcons(Window win, QPixmap* icon, QPixmap* miniicon, QPixmap* bigicon, QPixmap* hugeicon)
|
void Client::readIcons(Window win, QPixmap* icon, QPixmap* miniicon, QPixmap* bigicon, QPixmap* hugeicon)
|
||||||
|
|
34
events.cpp
34
events.cpp
|
@ -344,29 +344,23 @@ bool Workspace::workspaceEvent(XEvent * e)
|
||||||
case MapRequest: {
|
case MapRequest: {
|
||||||
updateXTime();
|
updateXTime();
|
||||||
|
|
||||||
// e->xmaprequest.window is different from e->xany.window
|
if (Client* c = findClient(WindowMatchPredicate(e->xmaprequest.window))) {
|
||||||
// TODO this shouldn't be necessary now
|
// e->xmaprequest.window is different from e->xany.window
|
||||||
Client* c = findClient(WindowMatchPredicate(e->xmaprequest.window));
|
// TODO this shouldn't be necessary now
|
||||||
if (!c) {
|
|
||||||
// don't check for the parent being the root window, this breaks when some app unmaps
|
|
||||||
// a window, changes something and immediately maps it back, without giving KWin
|
|
||||||
// a chance to reparent it back to root
|
|
||||||
// since KWin can get MapRequest only for root window children and
|
|
||||||
// children of WindowWrapper (=clients), the check is AFAIK useless anyway
|
|
||||||
// Note: Now the save-set support in Client::mapRequestEvent() actually requires that
|
|
||||||
// this code doesn't check the parent to be root.
|
|
||||||
// if ( e->xmaprequest.parent == root ) {
|
|
||||||
if (c = createClient(e->xmaprequest.window, false))
|
|
||||||
c->windowEvent(e);
|
|
||||||
else // refused to manage, simply map it (most probably override redirect)
|
|
||||||
XMapRaised(display(), e->xmaprequest.window);
|
|
||||||
return true;
|
|
||||||
} else {
|
|
||||||
c->windowEvent(e);
|
c->windowEvent(e);
|
||||||
updateFocusChains(c, FocusChainUpdate);
|
updateFocusChains(c, FocusChainUpdate);
|
||||||
return true;
|
} else if ( true /*|| e->xmaprequest.parent != root */ ) {
|
||||||
|
// NOTICE don't check for the parent being the root window, this breaks when some app unmaps
|
||||||
|
// a window, changes something and immediately maps it back, without giving KWin
|
||||||
|
// a chance to reparent it back to root
|
||||||
|
// since KWin can get MapRequest only for root window children and
|
||||||
|
// children of WindowWrapper (=clients), the check is AFAIK useless anyway
|
||||||
|
// NOTICE: The save-set support in Client::mapRequestEvent() actually requires that
|
||||||
|
// this code doesn't check the parent to be root.
|
||||||
|
if (!createClient(e->xmaprequest.window, false))
|
||||||
|
XMapRaised(display(), e->xmaprequest.window);
|
||||||
}
|
}
|
||||||
break;
|
return true;
|
||||||
}
|
}
|
||||||
case MapNotify: {
|
case MapNotify: {
|
||||||
if (e->xmap.override_redirect) {
|
if (e->xmap.override_redirect) {
|
||||||
|
|
Loading…
Reference in a new issue