mirror of
https://github.com/gnustep/libs-back.git
synced 2025-02-23 20:01:22 +00:00
Add missing window caching for minimized check.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@26809 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
ff0796c5d4
commit
fc441f9bc5
3 changed files with 38 additions and 23 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
2008-08-14 Fred Kiefer <FredKiefer@gmx.de>
|
||||||
|
|
||||||
|
* Source/x11/XGServerWindow.m (-_ewmh_isMinimized:): Correct
|
||||||
|
indentation.
|
||||||
|
* Source/x11/XGServerEvent.m (-receivedEvent:type:extra:forMode:):
|
||||||
|
For PropertyNotify cache the window first.
|
||||||
|
|
||||||
2008-07-19 Fred Kiefer <FredKiefer@gmx.de>
|
2008-07-19 Fred Kiefer <FredKiefer@gmx.de>
|
||||||
|
|
||||||
* Source/x11/XGServerWindow.m (-window::::): For EWMH window
|
* Source/x11/XGServerWindow.m (-window::::): For EWMH window
|
||||||
|
|
|
@ -1307,24 +1307,32 @@ static int check_modifier (XEvent *xEvent, KeySym key_sym)
|
||||||
if (xEvent.xproperty.atom == generic.netstates.net_wm_state_atom &&
|
if (xEvent.xproperty.atom == generic.netstates.net_wm_state_atom &&
|
||||||
xEvent.xproperty.state == PropertyNewValue)
|
xEvent.xproperty.state == PropertyNewValue)
|
||||||
{
|
{
|
||||||
/*
|
if (cWin == 0 || xEvent.xproperty.window != cWin->ident)
|
||||||
* FIXME: we really should detect when the state changes from
|
|
||||||
* unminimized to minimized, or vice versa
|
|
||||||
*/
|
|
||||||
if ([self _ewmh_isMinimized: xEvent.xproperty.window])
|
|
||||||
{
|
{
|
||||||
// Same event as when we get ClientMessage with the atom
|
generic.cachedWindow
|
||||||
// equal to generic.miniaturize_atom
|
= [XGServer _windowForXWindow: xEvent.xproperty.window];
|
||||||
eventLocation = NSMakePoint(0,0);
|
}
|
||||||
e = [NSEvent otherEventWithType: NSAppKitDefined
|
if (cWin != 0)
|
||||||
location: eventLocation
|
{
|
||||||
modifierFlags: 0
|
/*
|
||||||
timestamp: xEvent.xproperty.time / 1000
|
* FIXME: we really should detect when the state changes from
|
||||||
windowNumber: cWin->number
|
* unminimized to minimized, or vice versa
|
||||||
context: gcontext
|
*/
|
||||||
subtype: GSAppKitWindowMiniaturize
|
if ([self _ewmh_isMinimized: xEvent.xproperty.window])
|
||||||
data1: 0
|
{
|
||||||
data2: 0];
|
// Same event as when we get ClientMessage with the atom
|
||||||
|
// equal to generic.miniaturize_atom
|
||||||
|
eventLocation = NSMakePoint(0,0);
|
||||||
|
e = [NSEvent otherEventWithType: NSAppKitDefined
|
||||||
|
location: eventLocation
|
||||||
|
modifierFlags: 0
|
||||||
|
timestamp: xEvent.xproperty.time / 1000
|
||||||
|
windowNumber: cWin->number
|
||||||
|
context: gcontext
|
||||||
|
subtype: GSAppKitWindowMiniaturize
|
||||||
|
data1: 0
|
||||||
|
data2: 0];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4581,7 +4581,7 @@ _computeDepth(int class, int bpp)
|
||||||
* property. We map the EWMH _NET_WM_STATE_HIDDEN state to GNUstep's
|
* property. We map the EWMH _NET_WM_STATE_HIDDEN state to GNUstep's
|
||||||
* miniaturized state.
|
* miniaturized state.
|
||||||
*/
|
*/
|
||||||
- (BOOL) _ewmh_isMinimized: (Window) win
|
- (BOOL) _ewmh_isMinimized: (Window)win
|
||||||
{
|
{
|
||||||
Atom *data;
|
Atom *data;
|
||||||
int count;
|
int count;
|
||||||
|
@ -4596,13 +4596,13 @@ _computeDepth(int class, int bpp)
|
||||||
return NO;
|
return NO;
|
||||||
|
|
||||||
for (i = 0; i < count; i++)
|
for (i = 0; i < count; i++)
|
||||||
{
|
|
||||||
if (data[i] == generic.netstates.net_wm_state_hidden_atom)
|
|
||||||
{
|
{
|
||||||
XFree(data);
|
if (data[i] == generic.netstates.net_wm_state_hidden_atom)
|
||||||
return YES;
|
{
|
||||||
|
XFree(data);
|
||||||
|
return YES;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
XFree(data);
|
XFree(data);
|
||||||
return NO;
|
return NO;
|
||||||
|
|
Loading…
Reference in a new issue