Commit Graph

345 Commits

Author SHA1 Message Date
Richard Hult
7abde8388f Get the correct root coordinates for events 2009-04-02 10:15:30 +02:00
Richard Hult
24aa1620bf Update for changes in the paintable interface
Get rid of invalidate_maybe_recurse and process_updates. Implement
_gdk_windowing_{before,after}_process_all_updates(), and keep track of
when we're inside process_all_updates in the common code so we know
when to flush windows. Implement
_gdk_windowing_window_process_updates_recurse by means of
setNeedsDisplayInRect: displayIfNeeded. Use the added window argument
in begin_paint_region to get the right window (the paintable is always
the impl window now).
2009-04-02 10:15:27 +02:00
Richard Hult
65b5644cda Call _gdk_window_process_updates_recurse() in drawRect instead of creating our own expose events 2009-04-02 10:15:27 +02:00
Richard Hult
95cbc754d4 Setup ->impl_window on the root window 2009-04-02 10:15:27 +02:00
Richard Hult
9e0899bd2f Add gdk_windowing_window_get_next_serial 2009-04-02 10:15:27 +02:00
Richard Hult
19951c064e Remove gdk_keyboard_grab_info_libgtk_only which moved to the common code 2009-04-02 10:15:26 +02:00
Richard Hult
defc779df5 Add serial argument to _gdk_windowing_got_event 2009-04-02 10:15:26 +02:00
Richard Hult
89f1cb5178 First cut at getting events working 2009-04-02 10:15:25 +02:00
Richard Hult
08bc1864cc Attempt to implement draw_drawable with src = dest = window 2009-04-02 10:15:25 +02:00
Richard Hult
2ea8ea2f0d Remove unused function _gdk_quartz_window_scroll 2009-04-02 10:15:24 +02:00
Richard Hult
80c8976c28 Fix typos that broke loading without lazy symbol lookup 2009-04-02 10:15:24 +02:00
Richard Hult
7ab3435a58 Remove autoreleasepool in drawRect, not necessary 2009-04-02 10:15:24 +02:00
Richard Hult
f12a992be2 Only setup tracking rect for toplevels, we only want enter/leave for those 2009-04-02 10:15:24 +02:00
Richard Hult
348abef6f2 Don't use drawable_get,release_context in _gdk_windowing_create_cairo_surface
This fixes a mismatch in save/release gstate for the CGContext. If
this function is ever used for pixmaps, we need to add support for
that, probably will have to do so soon.
2009-04-02 10:15:24 +02:00
Richard Hult
edb35763a2 Get rid of all the synthesized crossing events except for ANCESTOR one on the toplevel 2009-04-02 10:15:24 +02:00
Richard Hult
330e790fb2 Rename _gdk_quartz_events_send_map_events to ..._event 2009-04-02 10:15:24 +02:00
Richard Hult
32555badb5 Clean up some whitespace 2009-04-02 10:15:24 +02:00
Richard Hult
54e6878001 Add fill_crossing_event to be used soon 2009-04-02 10:15:24 +02:00
Richard Hult
c3637ab20f Only send map events for toplevels 2009-04-02 10:15:24 +02:00
Richard Hult
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
Richard Hult
da8666d745 Clean up the scroll support a little 2009-04-02 10:15:24 +02:00
Richard Hult
25b311bac3 Make the various fill_*_event functions consistent 2009-04-02 10:15:24 +02:00
Richard Hult
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
Richard Hult
036e045d53 Update the window size after getting windowDidResize 2009-04-02 10:15:23 +02:00
Richard Hult
e7eb75c0ca Remove the old workarond for broken tracking rects
The one that puts windows outside the screen and moves them in when
showing. It might not be needed anymore and the workaround doesn't
work with the client-side window branch anyway because the window is
already mapped when we get showed for some reason.
2009-04-02 10:15:23 +02:00
Richard Hult
257dea55a7 Handle NULL event mask in _gdk_windowing_window_at_pointer 2009-04-02 10:15:23 +02:00
Richard Hult
19b1f6a93a Fix bug from first patch round, get private from window, not from impl 2009-04-02 10:15:23 +02:00
Richard Hult
e9d3f22ac8 Offset subviews with the parent's abs coordinate 2009-04-02 10:15:23 +02:00
Richard Hult
546a1e4cd6 Change window check to quartz window check in gdkinput 2009-04-02 10:15:23 +02:00
Richard Hult
5eacab593b Setup iface for queue_translation/antiexpose 2009-04-02 10:15:23 +02:00
Richard Hult
0e1f51ecd1 Add quartz window check macro 2009-04-02 10:15:23 +02:00
Richard Hult
a362be9979 Add stubs for queue_translation/antiexpose 2009-04-02 10:15:23 +02:00
Richard Hult
cb8a3386c7 Implement _gdk_windowing_create_cairo_surface 2009-04-02 10:15:23 +02:00
Richard Hult
f080825430 Remove gdk_display_pointer_is_grabbed and gdk_pointer_grab_info_libgtk_only 2009-04-02 10:15:23 +02:00
Richard Hult
47ed2c553d Remove gdk_window_set_child_input_shapes 2009-04-02 10:15:23 +02:00
Richard Hult
cede19dc65 Update more toplevel checks and update set_background and back_pixmap 2009-04-02 10:15:23 +02:00
Richard Hult
68640f9e99 Add mask argument to _gdk_windowing_window_at_pointer, and update more checks 2009-04-02 10:15:22 +02:00
Richard Hult
068b6f88e0 Update gdk_window_get_deskrelative_origin, gdk_window_get_root_origin, gdk_window_get_frame_extents 2009-04-02 10:15:22 +02:00
Richard Hult
3f7e3a22f5 Update gdk_window_quartz_set_background and gdk_window_quartz_set_back_pixmap 2009-04-02 10:15:22 +02:00
Richard Hult
4cf7fe5832 Add more toplevel window checks 2009-04-02 10:15:22 +02:00
Richard Hult
93d1d51e3b Update set_urgency_hint/geometry_hints/modal_hint/set_skip_taskbar_hint/set_skip_pager_hint 2009-04-02 10:15:22 +02:00
Richard Hult
27a80094bc Update gdk_window_set_type_hint and gdk_window_get_type_hint 2009-04-02 10:15:22 +02:00
Richard Hult
ff86156762 Update gdk_window_focus 2009-04-02 10:15:22 +02:00
Richard Hult
1e5a22dabe Remove gdk_window_quartz_clear_area 2009-04-02 10:15:22 +02:00
Richard Hult
f5806eac0c Update gdk_window_quartz_reparent 2009-04-02 10:15:22 +02:00
Richard Hult
2517076f76 Update gtk_window_quartz_hide 2009-04-02 10:15:22 +02:00
Richard Hult
afdb3f2ee8 Update signature for gdk_window_quartz_show and adapt the implementation 2009-04-02 10:15:22 +02:00
Richard Hult
650223ca3b Rename _gdk_windowing_window_destroy to _gdk_quartz_window_destroy and add to the impl iface 2009-04-02 10:15:22 +02:00
Richard Hult
b20991af9b Update _gdk_window_impl_new and add private variables where we changed impl to private 2009-04-02 10:15:22 +02:00
Richard Hult
b1b358c820 Remove width/height from GdkWindowImplQuartz and use those in GdkWindowObject 2009-04-02 10:15:22 +02:00
Richard Hult
774cebae69 Remove get_size and get_visible region 2009-04-02 10:15:21 +02:00
Richard Hult
1ee805f7be Don't init size in gdk_window_impl_quartz_init 2009-04-02 10:15:21 +02:00
Richard Hult
57214245da Include check for offscreen windows in WINDOW_IS_TOPLEVEL 2009-04-02 10:15:21 +02:00
Richard Hult
ff9822a833 Add reset_origin argument to _gdk_windowing_gc_set_clip_region 2009-04-02 10:15:21 +02:00
Alexander Larsson
eabac453e6 Initial client-side-windows work
The history before this was kind of twisted as several different
approaches were tested, so that was all squashed into this initial
commit to hide the uninteresting changes and files that were later
removed.
2009-04-02 10:14:01 +02:00
Richard Hult
14f26357e1 Bug 566628 – gdk_display_close always asserts on win32 and quartz
2009-01-26  Richard Hult  <richard@imendio.com>

	Bug 566628 – gdk_display_close always asserts on win32 and quartz

	* gdk/quartz/gdkdisplay-quartz.c
	(_gdk_windowing_set_default_display): Copy fix for bug #566628
	from the win32 backend: Allow also a NULL parameter in the
	g_assert().

svn path=/trunk/; revision=22223
2009-01-26 20:31:18 +00:00
Richard Hult
b81b90949b Bug 550942 – [patch] Rework of gdkeventloop-quartz.c
2008-11-12  Richard Hult  <richard@imendio.com>

	Bug 550942 – [patch] Rework of gdkeventloop-quartz.c

	* gdk/gdk.c:
	* gdk/gdkinternals.h: Add eventloop debug facility.
	* gdk/quartz/gdkeventloop-quartz.c: Big rework of the quartz
	mainloop integration, patch from Owen Taylor. See bug #550942 for
	the details.

svn path=/trunk/; revision=21783
2008-11-12 13:30:22 +00:00
Richard Hult
2c3590b47e Bug 558586 – handling of keyboard under darwin (quartz)
2008-11-12  Richard Hult  <richard@imendio.com>

	Bug 558586 – handling of keyboard under darwin (quartz)

	* gdk/quartz/gdkkeys-quartz.c: Follow up on this bug, only use the
	new API when building on 64-bit, since there are still old non-xml
	layouts used out there we don't want to break them. (For 64-bit
	those layouts doesn't work so we don't have a choice there.)

svn path=/trunk/; revision=21782
2008-11-12 12:56:17 +00:00
Richard Hult
a4088461ae Bug 558586 – handling of keyboard under darwin (quartz)
2008-11-06  Richard Hult  <richard@imendio.com>

	Bug 558586 – handling of keyboard under darwin (quartz)

	* gdk/quartz/gdkkeys-quartz.c: (maybe_update_keymap): Patch from
	Arnaud Charlet to replace use of deprecated keyboard layout API
	with the new TIS API available in 10.5. The old code is still used
	when building for 10.4.

svn path=/trunk/; revision=21763
2008-11-06 15:35:56 +00:00
Richard Hult
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
Richard Hult
a641e8fb92 Set the fill color outside the loop.
2008-11-05  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c:
	(gdk_window_impl_quartz_begin_paint_region): Set the fill color
	outside the loop.

svn path=/trunk/; revision=21759
2008-11-05 10:26:47 +00:00
Richard Hult
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
Richard Hult
4dbea21c81 Add empty stub to fix linking.
2008-10-10  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkkeys-quartz.c: (gdk_keymap_get_caps_lock_state)
	Add empty stub to fix linking.

svn path=/trunk/; revision=21629
2008-10-10 13:38:05 +00:00
Richard Hult
db0ad1ff52 Bug 550342 – Splash screens have a caption
2008-10-09  Richard Hult  <richard@imendio.com>

	Bug 550342 – Splash screens have a caption

	* gdk/quartz/gdkwindow-quartz.c: (_gdk_window_new),
	(gdk_window_set_decorations): Patch from Marianne Gagnon to make
	splash windows borderless.

svn path=/trunk/; revision=21617
2008-10-09 11:27:31 +00:00
Richard Hult
31d013d4bf Some aftermath of the fix of bug #543868. Clip and flip to the source, not
2008-08-15  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkdrawable-quartz.c (gdk_quartz_draw_drawable): Some
	aftermath of the fix of bug #543868. Clip and flip to the source,
	not the destination. Don't save/restore the gstate, it's already
	done when getting/releasing the context.

svn path=/trunk/; revision=21136
2008-08-15 20:27:22 +00:00
Richard Hult
cc127bf0a9 Bug 535573 – Deadlock in gdkeventloop-quartz.c:poll_func()
2008-08-07  Richard Hult  <richard@imendio.com>

	Bug 535573 – Deadlock in gdkeventloop-quartz.c:poll_func()

	* gdk/quartz/gdkeventloop-quartz.c: (gdk_event_prepare),
	(select_thread_func), (poll_func): Patch by Yevgen Muntyan, fixes
	deadlock and missing events.

svn path=/trunk/; revision=21030
2008-08-07 08:18:32 +00:00
Richard Hult
e7d1152a8e Implement those, fixes loading python bindings.
2008-08-07  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkscreen-quartz.c: (gdk_screen_get_monitor_plug_name)
	(gdk_screen_get_monitor_height_mm, gdk_screen_get_monitor_width_mm):
	Implement those, fixes loading python bindings.

svn path=/trunk/; revision=21029
2008-08-07 08:14:12 +00:00
Sven Herzberg
bd86f2e8fb reviewed by: Richard Hult
2008-07-20  Sven Herzberg  <sven@imendio.com>

	reviewed by: Richard Hult

	Fixes #543868: GdkPixmap is upside down on quartz

	* gdk/quartz/gdkdrawable-quartz.c (gdk_quartz_draw_drawable): flip the
	coordinate space from GTK+ orientation to CoreGraphics orientation
	before calling CoreGraphics code
	* gdk/quartz/gdkgc-quartz.c (gdk_quartz_draw_tiled_pattern): drop the
	coordinate space flipping (we always get it right, now)
	* gdk/quartz/gdkpixmap-quartz.c
	(gdk_pixmap_impl_quartz_get_context): flip the coordinate space when
	creating the CGContextRef


svn path=/trunk/; revision=20870
2008-07-20 19:22:37 +00:00
Sven Herzberg
61ca4f71a0 reviewed by: Richard Hult
2008-07-20  Sven Herzberg  <sven@imendio.com>

	reviewed by: Richard Hult

	Extracted the CGContextRef creation into a virtual function of
	GdkDrawableImplQuartz; implement get_context() for GdkPixmap and
	GdkWindow

	* gdk/quartz/gdkdrawable-quartz.c
	(gdk_quartz_drawable_get_context): dropped the different
	implementations; forward to the virtual function now
	* gdk/quartz/gdkdrawable-quartz.h: added the virtual function
	* gdk/quartz/gdkpixmap-quartz.c
	(gdk_pixmap_impl_quartz_get_context),
	(gdk_pixmap_impl_quartz_class_init): implemented get_context()
	* gdk/quartz/gdkwindow-quartz.c
	(gdk_window_impl_quartz_get_context),
	(gdk_window_impl_quartz_class_init): implemented get_context()


svn path=/trunk/; revision=20869
2008-07-20 16:14:35 +00:00
Richard Hult
119f3cf183 Some aftermath from the window impl cleanups:
2008-07-01  Richard Hult  <richard@imendio.com>

	Some aftermath from the window impl cleanups:

	* gdk/quartz/gdkwindow-quartz.c:
	(gdk_window_merge_child_input_shapes): Rename and export again.
	(gdk_window_quartz_get_offsets): Make static.

svn path=/trunk/; revision=20723
2008-07-01 18:27:43 +00:00
Kristian Rietveld
cf3542155f adapt to use GdkWindowImpl interface.
2008-06-27  Kristian Rietveld  <kris@imendio.com>

	* gdk/quartz/gdkgeometry-quartz.c:
	* gdk/quartz/gdkwindow-quartz.c:
	* gdk/quartz/gdkprivate-quartz.h: adapt to use GdkWindowImpl
	interface.


svn path=/trunk/; revision=20697
2008-06-27 17:06:06 +00:00
Johan Dahlin
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
Richard Hult
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
Richard Hult
902ac34a1d Renamed to adapt to the offscreen rendering changes, fixes build.
2008-05-21  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c:
	(_gdk_window_new), (_gdk_window_reparent): Renamed to adapt to the
	offscreen rendering changes, fixes build.

svn path=/trunk/; revision=20125
2008-05-21 20:48:21 +00:00
Richard Hult
d06472f3c2 Use SetSystemUIMode instead of hiding and showing the menubar.
2008-05-19  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c: (gdk_window_hide),
	(gdk_window_fullscreen), (gdk_window_unfullscreen): Use
	SetSystemUIMode instead of hiding and showing the menubar.

svn path=/trunk/; revision=20114
2008-05-19 20:56:51 +00:00
Richard Hult
618b23a408 Use gdk_threads_add_idle instead of g_idle_add. Add a temporary check if
2008-05-17  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c:
	(gdk_window_impl_quartz_invalidate_maybe_recurse):
	(gdk_window_quartz_update_idle): Use gdk_threads_add_idle instead
	of g_idle_add. Add a temporary check if the window is already in
	the updates list, since update_area currently doesn't always match
	the backend's state, see bug #530801.

svn path=/trunk/; revision=20108
2008-05-17 07:26:41 +00:00
Richard Hult
16a4b0a6f7 Forgotten in previous commit.
svn path=/trunk/; revision=20101
2008-05-12 11:34:23 +00:00
Richard Hult
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
Richard Hult
9a6c6fcf93 Move the currently invalidated region. Fixes bug #532048, patch by Yevgen
2008-05-08  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkgeometry-quartz.c (gdk_window_scroll): Move the
	currently invalidated region. Fixes bug #532048, patch by Yevgen
	Muntyan.

svn path=/trunk/; revision=20087
2008-05-08 17:51:03 +00:00
Richard Hult
8ff76c14cd Only set the fake fd's revents, not the first one. Fixes bug #531056,
2008-05-08  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkeventloop-quartz.c (poll_func): Only set the fake
	fd's revents, not the first one. Fixes bug #531056, spotted by
	Yevgen Muntyan.

svn path=/trunk/; revision=20086
2008-05-08 17:23:08 +00:00
Michael Natterer
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
Richard Hult
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
Richard Hult
b136668cb2 Initalize framework if there is one.
2008-05-05  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkmain-quartz.c (_gdk_windowing_init): Initalize
	framework if there is one.

svn path=/trunk/; revision=20075
2008-05-05 18:14:27 +00:00
Richard Hult
91e82e7e9e Check if gdk_unicode_to_keyval() worked before using the result. Makes
2008-05-04  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkkeys-quartz.c (maybe_update_keymap): Check if
	gdk_unicode_to_keyval() worked before using the result. Makes
	function keys work, bug #530156. Also add F16 to the function key
	map.

svn path=/trunk/; revision=20071
2008-05-04 15:15:00 +00:00
Richard Hult
378511618d Remove stray semicolon after if statement. Fixes bug #530963, patch from
2008-05-04  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkkeys-quartz.c (maybe_update_keymap): Remove stray
	semicolon after if statement. Fixes bug #530963, patch from Yevgen
	Muntyan.

svn path=/trunk/; revision=20069
2008-05-04 15:07:18 +00:00
Richard Hult
c33a6699ae Simplify check for zero sized expose area.
2008-04-30  Richard Hult  <richard@imendio.com>

	* gdk/quartz/GdkQuartzView.c: Simplify check for zero sized expose
	area.

svn path=/trunk/; revision=20056
2008-04-30 17:50:14 +00:00
Richard Hult
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
Richard Hult
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
Richard Hult
a63c87c5da Defer the generated event to the mainloop and don't generate one at all if
2008-03-28  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkevents-quartz.c: (gdk_event_translate),
	(_gdk_quartz_events_trigger_crossing_events): Defer the generated
	event to the mainloop and don't generate one at all if the
	toplevel didn't change. Use the actual window and not the toplevel
	as event window. These changes make the generated crossing events
	match the X11 behavior and fixes issues with e.g. tooltips,
	comboboxes and menus.

	* gdk/quartz/GdkQuartzView.c: Don't update the tracking rect if
	the view has no window, it will be updated as soon as it's put
	inside a window.

	* gdk/quartz/gdkwindow-quartz.c:
	(_gdk_quartz_window_debug_highlight): Make it possible to track
	multiple windows with debug highlighting.
	(show_window_internal): Remove workaround for tooltips and popups
	that is no longer needed with the above changes.

svn path=/trunk/; revision=19951
2008-03-31 13:15:15 +00:00
Richard Hult
9d8b846e80 Bail out early if we can't find a matching window.
2008-03-25  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkevents-quartz.c:
	(_gdk_quartz_events_trigger_crossing_events): Bail out early if we
	can't find a matching window.

	* gdk/quartz/gdkwindow-quartz.c: (show_window_internal): Add a
	comment, and only trigger an event for non-temp windows, fixes
	problems for tooltips caused by the workarounds for the
	problematic tracking rect API.

svn path=/trunk/; revision=19934
2008-03-25 13:49:03 +00:00
Richard Hult
7279939331 Plug a leak and add a check that we have a toplevel before accessing it.
2008-03-25  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c:
	(gdk_window_quartz_process_all_updates): Plug a leak and add a
	check that we have a toplevel before accessing it.

svn path=/trunk/; revision=19933
2008-03-25 13:35:20 +00:00
Richard Hult
1438c5623b Patch from Paul Davis, only flush the toplevel once per update.
2008-03-14  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c:
	(gdk_window_quartz_process_all_updates): Patch from Paul Davis,
	only flush the toplevel once per update.

svn path=/trunk/; revision=19871
2008-03-14 10:20:55 +00:00
Richard Hult
62f084869d Implement gdk_window_reparent.
2008-03-11  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c: Implement gdk_window_reparent.

svn path=/trunk/; revision=19746
2008-03-11 10:14:47 +00:00
Richard Hult
f14bf84699 Fix performance regression for borderless transparent windows with shadow.
2008-02-27  Richard Hult  <richard@imendio.com>

	* gdk/quartz/GdkQuartzView.c:
	* gdk/quartz/GdkQuartzView.h:
	* gdk/quartz/gdkwindow-quartz.c: (gdk_window_set_decorations):
	Fix performance regression for borderless transparent windows
	with shadow.

svn path=/trunk/; revision=19666
2008-02-27 10:49:22 +00:00
Richard Hult
837aec97bb Fix build on tiger.
2008-02-25  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkevents-quartz.c
	(_gdk_quartz_events_trigger_crossing_events): Fix build on tiger.

svn path=/trunk/; revision=19644
2008-02-25 12:45:56 +00:00
Richard Hult
6dc6aaeaf1 Prevent hidden windows from being shown without gdk's control when
2008-02-24  Richard Hult  <richard@imendio.com>

	* gdk/quartz/GdkQuartzWindow.c: Prevent hidden windows from being
	shown without gdk's control when clicking the dock icon.

svn path=/trunk/; revision=19638
2008-02-24 17:51:22 +00:00
Richard Hult
4dbd9d23d7 Use the subtype field for the custom event that is used to wake up the
2008-02-24  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkprivate-quartz.h:
	* gdk/quartz/gdkeventloop-quartz.c: (got_fd_activity), (poll_func):
	Use the subtype field for the custom event that is used to wake up
	the mainloop so we can have other custom event types.

	* gdk/quartz/gdkevents-quartz.c:
	(_gdk_quartz_events_trigger_crossing_events):
	* gdk/quartz/gdkwindow-quartz.c: (show_window_internal): Create
	crossing events after showing a window if necessary, to work
	around problems with the tracking rect API.

svn path=/trunk/; revision=19637
2008-02-24 17:45:29 +00:00
Richard Hult
fbe4c4f8b6 Set the right window level and shadow after recreating the window.
2008-02-20  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c: (gdk_window_set_decorations): Set
	the right window level and shadow after recreating the window.

	* gdk/quartz/GdkQuartzView.c: (drawRect): Invalidate the shadow if
	necessary after drawing (bug #517338).

svn path=/trunk/; revision=19622
2008-02-20 20:10:30 +00:00
Richard Hult
66fc6a5fb2 Update the position after showing the window since the window manager
2008-02-17  Richard Hult  <richard@imendio.com>

	* gdk/quartz/GdkQuartzWindow.c: (showAndMakeKey): Update the
	position after showing the window since the window manager might
	not place it where we requested in the first places.

svn path=/trunk/; revision=19605
2008-02-17 10:11:11 +00:00
Richard Hult
8a37bb9364 Clear the toplevel ordering list in all places where the order is
2008-02-17  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c: (show_window_internal),
	(_gdk_quartz_window_detach_from_parent),
	(_gdk_quartz_window_attach_to_parent), (gdk_window_focus): Clear
	the toplevel ordering list in all places where the order is
	potentially changed. Fixes mouse focus issues for windows with
	a transient parent set.

svn path=/trunk/; revision=19604
2008-02-17 10:01:52 +00:00