Commit Graph

108 Commits

Author SHA1 Message Date
cf80feb3dd Do not test the event mask of implicit grabs
The quartz backend simulates the semantics of XGrabPointer, as a part of
this it checks the event mask of the grab.  However, implicit grabs on X
do not go through XGrabPointer and thus the quartz backend should not check
the event mask for these.  This fixes various "the UI got stuck" cases.
2009-09-16 08:48:49 +02:00
52ca2f29cc Update _gdk_windowing_pointer_grab 2009-06-20 11:50:10 +02:00
730a44a516 Tweak the click-through handling so active apps get it (but not inactive ones) 2009-04-02 10:16:30 +02:00
53b3343d1b Get the right event window for non-grabbed windows too 2009-04-02 10:16:29 +02:00
f51a3f5e33 Make owner_events grabs work again, use the pointer window, not the event window 2009-04-02 10:15:32 +02:00
6d1a8853c4 Don't ignore all events when inactive, only clicks 2009-04-02 10:15:32 +02:00
41d40786b1 Relax the check for ignoring events above the content view 2009-04-02 10:15:32 +02:00
651335bc7e Remove workaround for missing enter events on newly popped up windows
The reason for the issue was that we got entered/exited events for the
title bar buttons. Now we properly ignore those instead.
2009-04-02 10:15:32 +02:00
aeeb54ddf0 Remove re-declared variable 2009-04-02 10:15:32 +02:00
64195589dc Remove unused code and fix some indentation 2009-04-02 10:15:32 +02:00
6d01d16d48 Button press and release can share the same fill_button_event call 2009-04-02 10:15:32 +02:00
77ee2feda2 Remove tracking of "current mouse window", this is handled in the common code now 2009-04-02 10:15:32 +02:00
3c7a37d10d Remove old cursor setting and make it work with client-side windows 2009-04-02 10:15:32 +02:00
e6f2a809b2 Update for latest changes in the common code for grab tracking 2009-04-02 10:15:32 +02:00
f455b478e7 Ignore all events if the app is not active 2009-04-02 10:15:31 +02:00
2c043566fc When breaking grabs on deactivation, the unset should be implicit 2009-04-02 10:15:31 +02:00
30f83d8398 Use _gdk_display_unset_has_*_grab in break_all_grabs() 2009-04-02 10:15:31 +02:00
65aef2099a Use cooca to convert coordinats from event window to grab window instead of homegrown code 2009-04-02 10:15:31 +02:00
a180f7588f Replace quartz specific keyboard grab code with common code 2009-04-02 10:15:31 +02:00
152614966f Use the common pointer grab code instead of tracking it ourselves 2009-04-02 10:15:31 +02:00
55c71f18a4 Use isKeyWindow instead of isMainWindow for the non-click-through check 2009-04-02 10:15:31 +02:00
e8d6ac71b7 Apply non-click-through policy on unfocused windows even if the app is active 2009-04-02 10:15:31 +02:00
ccd982f8bd Remove unused remainders from the old implicit grab code 2009-04-02 10:15:31 +02:00
79d9a8f960 Get implicit grabs working 2009-04-02 10:15:31 +02:00
3d72fe16c0 Leave AppKit events unhandled 2009-04-02 10:15:30 +02:00
0fc2c36ee7 Use event_type we already have instead of regetting it 2009-04-02 10:15:30 +02:00
7abde8388f Get the correct root coordinates for events 2009-04-02 10:15:30 +02:00
19951c064e Remove gdk_keyboard_grab_info_libgtk_only which moved to the common code 2009-04-02 10:15:26 +02:00
defc779df5 Add serial argument to _gdk_windowing_got_event 2009-04-02 10:15:26 +02:00
89f1cb5178 First cut at getting events working 2009-04-02 10:15:25 +02:00
edb35763a2 Get rid of all the synthesized crossing events except for ANCESTOR one on the toplevel 2009-04-02 10:15:24 +02:00
330e790fb2 Rename _gdk_quartz_events_send_map_events to ..._event 2009-04-02 10:15:24 +02:00
32555badb5 Clean up some whitespace 2009-04-02 10:15:24 +02:00
54e6878001 Add fill_crossing_event to be used soon 2009-04-02 10:15:24 +02:00
8e8aa53298 Add enter/leave notify to get_event_mask_from_ns_event now that those are handled like other events 2009-04-02 10:15:24 +02:00
da8666d745 Clean up the scroll support a little 2009-04-02 10:15:24 +02:00
25b311bac3 Make the various fill_*_event functions consistent 2009-04-02 10:15:24 +02:00
4c01ca7ddd Rework the event translation to look more like X11
Put the event in the queue with a pending flag, remove again if not
handled.
2009-04-02 10:15:24 +02:00
19b1f6a93a Fix bug from first patch round, get private from window, not from impl 2009-04-02 10:15:23 +02:00
f080825430 Remove gdk_display_pointer_is_grabbed and gdk_pointer_grab_info_libgtk_only 2009-04-02 10:15:23 +02:00
b1b358c820 Remove width/height from GdkWindowImplQuartz and use those in GdkWindowObject 2009-04-02 10:15:22 +02:00
31357d3cc7 Revert (at least for now) the alt/cmd switching since it breaks the
2008-11-05  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkevents-quartz.c:
	(get_keyboard_modifiers_from_ns_event), (create_key_event): Revert
	(at least for now) the alt/cmd switching since it breaks the
	"alt-gr" functionality of alt which makes it impossible to input
	lots of characters.

svn path=/trunk/; revision=21761
2008-11-05 19:12:48 +00:00
d2ed4085c0 Bug 557894 – Wrong return value for gdk_pointer_grab_info_libgtk_only()
2008-10-27  Richard Hult  <richard@imendio.com>

	Bug 557894 – Wrong return value for
	gdk_pointer_grab_info_libgtk_only()

	* gdk/quartz/gdkevents-quartz.c:
	(gdk_pointer_grab_info_libgtk_only): Return TRUE when there is a
	pointer grab. Patch by Owen Taylor.

svn path=/trunk/; revision=21722
2008-10-27 14:54:57 +00:00
d97cdbdf53 Include "config.h" instead of <config.h> Command used: find -name
2008-06-21  Johan Dahlin  <jdahlin@async.com.br>

    * *.[ch]: Include "config.h" instead of <config.h>
    Command used:
    find -name \*.[ch]|xargs perl -p -i -e 's/^#include <config.h>/#include "config.h"/g'
    Rubberstamped by Mitch and Tim


svn path=/trunk/; revision=20669
2008-06-22 14:28:52 +00:00
f3a6fecb67 Try setting the default font, might need to tweak this.
2008-05-26  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkevents-quartz.c: (gdk_screen_get_setting): Try
	setting the default font, might need to tweak this.

svn path=/trunk/; revision=20181
2008-05-26 18:51:35 +00:00
801f7bb44a Remove special casing of menu key events as it's no longer necessary;
2008-05-12  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkevents-quartz.c:
	* gdk/quartz/gdkquartz.h: Remove special casing of menu key events
	as it's no longer necessary; instead the added quartz API to get
	the nsevent from an event should be used. Also move the global
	filter up so it's done before the check for window-less events.

svn path=/trunk/; revision=20100
2008-05-12 11:23:28 +00:00
f3cd3f7cf5 gdk/gdkinternals.h gdk/gdkevents.c gdk/directfb/gdkevents-directfb.c
2008-05-07  Michael Natterer  <mitch@imendio.com>

	* gdk/gdkinternals.h
	* gdk/gdkevents.c
	* gdk/directfb/gdkevents-directfb.c
	* gdk/quartz/gdkevents-quartz.c
	* gdk/win32/gdkevents-win32.c
	* gdk/x11/gdkevents-x11.c (_gdk_windowing_event_data_copy):
	order parameters src,dest and make src const.


svn path=/trunk/; revision=20079
2008-05-06 22:35:13 +00:00
4ee2d1b6ba Add private backend data to events, and handle it when copying/freeing
2008-05-06  Richard Hult  <richard@imendio.com>

	* gdk/gdkevents.c: (gdk_event_copy), (gdk_event_free):
	* gdk/gdkinternals.h: Add private backend data to events, and
	handle it when copying/freeing events. Currently only needed in
	the quartz backend.

	* gdk/directfb/gdkevents-directfb.c:
	* gdk/quartz/gdkevents-quartz.c:
	* gdk/win32/gdkevents-win32.c:
	* gdk/x11/gdkevents-x11.c: (_gdk_windowing_event_data_copy)
	(_gdk_windowing_event_data_free): Add stubs for X11, win32 and
	directfb. Implement for quartz. Part of fixing bug #473822.

svn path=/trunk/; revision=20078
2008-05-06 21:00:06 +00:00
ca9a6075e6 Don't send nsevents with the gdk lock held, fixes deadlock when doing
2008-04-30  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkevents-quartz.c: (_gdk_events_queue): Don't send
	nsevents with the gdk lock held, fixes deadlock when doing manual
	window resizing with threading enabled.

svn path=/trunk/; revision=20055
2008-04-30 17:46:00 +00:00
49f341f12c Map Alt to Alt and Cmd to Meta. This is not only more logical but also
2008-04-30  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkevents-quartz.c:
	(get_keyboard_modifiers_from_ns_event), (create_key_event): Map
	Alt to Alt and Cmd to Meta. This is not only more logical but also
	makes it easier to have Mac-like behavior.

svn path=/trunk/; revision=20054
2008-04-30 17:42:27 +00:00