mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-28 14:31:10 +00:00
2d5ad5f54e
Based on a patch from Paul Davis, inject synthetic enter events directly
into the Quartz event stream, instead of trying to synthesize them in GDK.
This seems to magically fix most combo box popup weirdness, I guess
some code is relying on a specfic order of events, or any other state
imposed by the "proper" code path of events coming in the usual way.
The patch also removes _gdk_quartz_events_send_enter_notify_event()
which is now obsolete.
(sortof cherry-pixked from 979e5061a0
but needed manual editing because GdkQuartzWindow.c was renamed
and apparently earlier patches not picked correctly/completely)
51 lines
1.3 KiB
Objective-C
51 lines
1.3 KiB
Objective-C
/* GdkQuartzNSWindow.h
|
|
*
|
|
* Copyright (C) 2005-2007 Imendio AB
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#import <AppKit/AppKit.h>
|
|
#import <Foundation/Foundation.h>
|
|
#include <glib.h>
|
|
|
|
@interface GdkQuartzNSWindow : NSWindow {
|
|
BOOL inMove;
|
|
BOOL inShowOrHide;
|
|
BOOL initialPositionKnown;
|
|
|
|
/* Manually triggered move/resize (not by the window manager) */
|
|
BOOL inManualMove;
|
|
BOOL inManualResize;
|
|
BOOL inTrackManualResize;
|
|
NSPoint initialMoveLocation;
|
|
NSPoint initialResizeLocation;
|
|
NSRect initialResizeFrame;
|
|
}
|
|
|
|
-(BOOL)isInMove;
|
|
-(void)beginManualMove;
|
|
-(BOOL)trackManualMove;
|
|
-(BOOL)isInManualResize;
|
|
-(void)beginManualResize;
|
|
-(BOOL)trackManualResize;
|
|
-(void)showAndMakeKey:(BOOL)makeKey;
|
|
-(void)hide;
|
|
|
|
@end
|
|
|
|
|
|
|
|
|