Commit Graph

2196 Commits

Author SHA1 Message Date
Richard Hult
568228dec3 Implement manual resize and move.
2007-10-31  Richard Hult  <richard@imendio.com>

	* gdk/quartz/GdkQuartzWindow.c:
	* gdk/quartz/GdkQuartzWindow.h:
	* gdk/quartz/gdkwindow-quartz.c: (gdk_window_begin_resize_drag),
	(gdk_window_begin_move_drag): Implement manual resize and move.

svn path=/trunk/; revision=18955
2007-10-31 11:01:56 +00:00
Richard Hult
75aabd416d Setup autorelease pool, plugs occasional leak on leopard.
2007-10-31  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c:
	(gdk_window_impl_quartz_process_updates): Setup autorelease pool,
	plugs occasional leak on leopard.

svn path=/trunk/; revision=18954
2007-10-31 10:14:53 +00:00
Richard Hult
89230024e6 Fix build warning (trackingRect should be 0, not nil).
2007-10-31  Richard Hult  <richard@imendio.com>

	* gdk/quartz/GdkQuartzView.c: Fix build warning (trackingRect should be
	0, not nil).

svn path=/trunk/; revision=18953
2007-10-31 10:07:47 +00:00
Richard Hult
1907d27d8c Use an autorelease pool.
2007-10-24  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c: (update_toplevel_order): Use an
	autorelease pool.

svn path=/trunk/; revision=18946
2007-10-24 12:56:28 +00:00
Richard Hult
c42c7be050 Maintain a list for the stacking order of windows. Implement lower and
2007-10-23  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c:
	(gdk_window_raise, gdk_window_lower, gdk_window_new,
	_gdk_windowing_window_destroy): Maintain a list for the stacking
	order of windows. Implement lower and raise for child windows. The
	list for toplevels is created on demand, and cleared when a window
	gets or resigns main status and when new windows are created.
	(find_child_window_helper): Use the sorted list to go through
	windows from top to bottom. Take any titlebar in consideration for
	toplevels, to stop events from sometimes punching through (bugs
	#473813 and #489370).

svn path=/trunk/; revision=18940
2007-10-23 13:06:31 +00:00
Tor Lillqvist
9466ea35a8 Add a block around the WM_ACTIVATE case to avoid declaring variables in
2007-10-19  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): Add a block
	around the WM_ACTIVATE case to avoid declaring variables in the
	middle of a block. (#488017)


svn path=/trunk/; revision=18932
2007-10-19 12:36:04 +00:00
Cody Russell
21d3d60f48 gdk/win32/gdkevents-win32.c Force non-modal transient dialogs to iconify
2007-10-17  Cody Russell  <cody@jhu.edu>

        * gdk/win32/gdkevents-win32.c
        * gdk/win32/gdkwindow-win32.[ch]: Force non-modal transient dialogs
        to iconify with their parents on Win32.  Maintain a list of transient
        children, and whenever a window is hidden or restored we now do the
        same thing to all connected transient windows above and below the
        current window in the chain.  See comment under WM_ACTIVATE for the
        reasons why.  (#164537, #371036, #405178)


svn path=/trunk/; revision=18929
2007-10-18 00:31:22 +00:00
Richard Hult
aec8b14fc8 Implement, patch from Paul Davis.
2007-10-08  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c: (gdk_window_focus): Implement,
	patch from Paul Davis.

svn path=/trunk/; revision=18897
2007-10-08 17:50:26 +00:00
Richard Hult
ba05b36563 Ignore if there are no changes, fixes bug #467269. Patch from Jonathan
2007-10-08  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c: (move_resize_window_internal):
	Ignore if there are no changes, fixes bug #467269. Patch from
	Jonathan Dempsey.

svn path=/trunk/; revision=18896
2007-10-08 17:37:44 +00:00
Richard Hult
7d9ac29c93 Patch from Paul Davis to implement this in terms of scrollRect, fixes bug
2007-10-08  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c: (move_resize_window_internal):
	Patch from Paul Davis to implement this in terms of scrollRect,
	fixes bug #478377.

svn path=/trunk/; revision=18895
2007-10-08 17:30:02 +00:00
Richard Hult
7d66affd26 Don't do anything while in fullscreen mode. (gdk_window_set_decorations):
2007-10-02  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c: (gdk_window_move),
	(gdk_window_resize): Don't do anything while in fullscreen mode.
	(gdk_window_set_decorations): Update the size of the window after
	showing/hiding the title bar so the size of the content area
	doesn't change.
	(gdk_window_get_decorations): NSBorderlessWindowMask is 0, so
	don't try to check it as a bit being set.
	(gdk_window_fullscreen), (gdk_window_unfullscreen): Implement.

svn path=/trunk/; revision=18875
2007-10-02 17:51:06 +00:00
Kristian Rietveld
eab3ef3145 Fixes #426246.
2007-09-12  Kristian Rietveld  <kris@imendio.com>

	Fixes #426246.

	* gdk/gdk.symbols:
	* gdk/gdkwindow.[ch]
	(gdk_window_freeze_toplevel_updates_libgtk_only),
	(gdk_window_thaw_toplevel_updates_libgtk_only): new functions
	to freeze a toplevel window and all its descendants.  To be made
	public in 2.14,
	(gdk_window_schedule_update): return if toplevel is frozen,
	(gdk_window_process_all_updates): defer processing updates if toplevel
	is frozen.

	* gtk/gtkwindow.c (gtk_window_configure_event): directly size
	allocate for override redirect windows, freeze toplevel and
	descendants otherwise and wait until resizing is done.


svn path=/trunk/; revision=18802
2007-09-12 17:13:24 +00:00
Behdad Esfahbod
c99b1edf39 Fix serial number comparison regression introduced recently. (#474897)
2007-09-10  Behdad Esfahbod  <behdad@gnome.org>

        * gdk/x11/gdkgeometry-x11.c (gdk_window_queue),
        (_gdk_window_process_expose): Fix serial number comparison regression
        introduced recently. (#474897)


svn path=/trunk/; revision=18789
2007-09-10 18:07:39 +00:00
18:22:28 Tim Janik
57e8bdcb54 fix invalid list node accesses, spotted by Benjamin Berg, bug #475158.
2007-09-09 18:22:28  Tim Janik  <timj@gtk.org>

        * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose): fix invalid
        list node accesses, spotted by Benjamin Berg, bug #475158.



svn path=/trunk/; revision=18769
2007-09-09 16:24:34 +00:00
Matthias Clasen
835c0a1510 Allow dest to be NULL. (#464528, Xan Lopez)
2007-09-06  Matthias Clasen  <mclasen@redhat.com>

        * gdk/gdkrectangle.c (gdk_rectangle_intersect): Allow
        dest to be NULL.  (#464528, Xan Lopez)



svn path=/trunk/; revision=18742
2007-09-07 03:53:23 +00:00
Richard Hult
8b6f388cbc Patch from William Pitcock: Ungrab windows if necessary when they are
2007-09-06  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c (_gdk_windowing_window_destroy):
	Patch from William Pitcock: Ungrab windows if necessary when they
	are destroyed, fixes bug #473441.

svn path=/trunk/; revision=18727
2007-09-06 08:16:40 +00:00
Richard Hult
3b2e8eacf1 Implement those. Based on patch from Stefan Gehn, bug #459459.
2007-08-30  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c: (gdk_window_set_decorations,
	gdk_window_get_decorations): Implement those. Based on patch from
	Stefan Gehn, bug #459459.

svn path=/trunk/; revision=18704
2007-08-30 09:01:12 +00:00
Richard Hult
ecfa539307 Patch from Stefan Gehn to implement those, bug #459667.
2007-08-30  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c: (gdk_window_set_keep_above,
	gdk_window_set_keep_below): Patch from Stefan Gehn to implement
	those, bug #459667.

svn path=/trunk/; revision=18703
2007-08-30 08:21:32 +00:00
Richard Hult
af1b34d494 Patch from Stefan Gehn to implement copying from a pixmap, bug #348493.
2007-08-30  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkimage-quartz.c: (_gdk_quartz_image_copy_to_image):
	Patch from Stefan Gehn to implement copying from a pixmap, bug
	#348493.

svn path=/trunk/; revision=18702
2007-08-30 07:57:25 +00:00
Tim Janik
592dc62de8 fix X serial handling to cope with wraparounds and maintain referential
Thu Aug 23 15:32:09 2007  Tim Janik  <timj@imendio.com>

	* gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose): fix
	X serial handling to cope with wraparounds and maintain referential
	integrity when removing list nodes. based on a patch by Hui Wang,
	fixes #461648.

svn path=/trunk/; revision=18693
2007-08-28 15:26:23 +00:00
Cody Russell
d59a6d2a6a Committing changes to the source bdf font file that I forgot to commit
2007-08-16  Cody Russell  <bratsche@gnome.org>

	* gdk/win32/cursor.bdf: Committing changes to the source
	bdf font file that I forgot to commit yesterday for #458088.


svn path=/trunk/; revision=18639
2007-08-17 03:40:39 +00:00
Cody Russell
a30a76c3e0 Modified the sb_h_double_arrow and sb_v_double_arrow mouse cursors to
2007-08-15  Cody Russell  <bratsche@gnome.org>

        * gdk/win32/xcursors.h: Modified the sb_h_double_arrow and
        sb_v_double_arrow mouse cursors to match the ones that Windows
        uses for split container controls.  This allows our paned
        widgets to be more easily identified as paned widgets on
        Windows, since we don't have any prelighting on the draggable
        pane part.  (#458088)


svn path=/trunk/; revision=18621
2007-08-15 14:58:45 +00:00
Björn Lindqvist
e1f1121149 Note in docs that @dest's width and height is set to 0, 0 if the
2007-08-11  Björn Lindqvist  <bjourne@gmail.com>

	* gdk/gdkrectangle.c (gdk_rectangle_intersect): Note in docs
        that @dest's width and height is set to 0, 0 if the rectangles
        does not intersect. (#464524)

svn path=/trunk/; revision=18602
2007-08-10 23:34:26 +00:00
Behdad Esfahbod
69cce50cd0 Revert commit that was accidentally made. Sorry.
svn path=/trunk/; revision=18596
2007-08-08 22:30:26 +00:00
Behdad Esfahbod
398a61e43d Use gtk_true instead of rolling a new one. Patch from Xan Lopez.
2007-08-08  Behdad Esfahbod  <behdad@gnome.org>

        * gdk/gdkwindow.c (gdk_window_invalidate_region): Use gtk_true
        instead of rolling a new one.  Patch from Xan Lopez.


svn path=/trunk/; revision=18595
2007-08-08 22:25:58 +00:00
Richard Hult
b0b47c9b49 Implement, fixes bug #405868. Based on patch from metz81@web.de.
2007-07-31  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c: (gdk_window_get_geometry):
	Implement, fixes bug #405868. Based on patch from metz81@web.de.

svn path=/trunk/; revision=18560
2007-07-31 19:25:28 +00:00
Attilio Fiandrotti
fc81607f22 Attempts to load stock X cursors no longer results in annoying error messages under DirectFB
svn path=/trunk/; revision=18549
2007-07-27 16:27:37 +00:00
Tor Lillqvist
441f048426 Cosmetic changes.
2007-07-24  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkkeys-win32.c (update_keymap): Cosmetic changes.


svn path=/trunk/; revision=18538
2007-07-24 14:40:21 +00:00
Matthias Clasen
6ec22dfc1d Documentation fixes
svn path=/trunk/; revision=18522
2007-07-22 04:19:19 +00:00
Ryan Lortie
f0cfba930c add note that the semantics of this call, when mixed with the new
2007-07-20  Ryan Lortie  <desrt@desrt.ca>

        * gtk/gtkwidget.c (gtk_widget_is_composited): add note that the
        semantics of this call, when mixed with the new
        gdk_window_set_composited(), will change in the future.

        * gdk/x11/gdkevents-x11.c (gdk_event_translate): only grab Damage
        events that belong to us.


svn path=/trunk/; revision=18506
2007-07-19 23:50:39 +00:00
Richard Hult
032b0aab6b Ref the cursor in the cached case.
2007-07-18  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkcursor-quartz.c (gdk_cursor_new_for_display): Ref
	the cursor in the cached case.

svn path=/trunk/; revision=18490
2007-07-18 09:52:25 +00:00
Richard Hult
eb52c4f1f8 Plug leak.
2007-07-14  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkevents-quartz.c:
	(_gdk_quartz_events_update_cursor): Plug leak.

svn path=/trunk/; revision=18468
2007-07-14 12:14:36 +00:00
Richard Hult
ed82448b9a Move from here... ...to here. (_gdk_windowing_window_destroy): Update the
2007-07-13  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkprivate-quartz.h:
	* gdk/quartz/gdkevents-quartz.c: (gdk_window_is_ancestor): Move
	from here...
	* gdk/quartz/gdkwindow-quartz.c: (_gdk_quartz_window_is_ancestor):
	...to here.
	(_gdk_windowing_window_destroy): Update the mouse window if the
	destroyed window is an ancestor of the current one, not only if
	they are the same.
	(gdk_window_hide): Update the mouse window here too.

svn path=/trunk/; revision=18467
2007-07-13 19:09:10 +00:00
Richard Hult
7f66d205e8 Add stubs.
2007-07-13  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkcolor-quartz.c: (gdk_colors_alloc),
	(gdk_colors_free): Add stubs.

svn path=/trunk/; revision=18466
2007-07-13 19:02:07 +00:00
Cody Russell
e992008541 gdk/win32/gdkevents-win32.c Fix transient windows on Win32 so that when a
2007-07-12  Cody Russell  <bratsche@gnome.org>

	* gdk/win32/gdkevents-win32.c
	* gdk/win32/gdkwindow-win32.[ch]: Fix transient windows on Win32 
	so that when a transient child window is closed (particularly when 
	there are 3 or more levels of transient windows), the correct window
	receives focus rather than a seemingly random window. (#112404) 


svn path=/trunk/; revision=18461
2007-07-12 23:38:30 +00:00
Attilio Fiandrotti
34dfd591da Fixed memory leak at window closing in DirectFB backend, patch provided by Simon Lanzmich
svn path=/trunk/; revision=18459
2007-07-12 17:09:02 +00:00
Tim Janik
508baa258c clarified documentation example.
Thu Jul 12 18:03:02 2007  Tim Janik  <timj@gtk.org>

        * gdk/gdk.c (gdk_threads_add_idle_full): clarified documentation example.



svn path=/trunk/; revision=18458
2007-07-12 16:13:36 +00:00
Richard Hult
2048ec5925 Add hack to workaround the broken tracking rect implementation in quartz,
2007-07-10  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c: (gdk_window_new),
	(show_window_internal), (gdk_window_show), (gdk_window_hide): Add
	hack to workaround the broken tracking rect implementation in
	quartz, that doesn't seem to produce events if the window shows up
	under the mouse.

svn path=/trunk/; revision=18440
2007-07-10 19:18:59 +00:00
Tim Janik
2af3c53e47 docu fixup by Bjoern Lindqvist, #454703.
Sun Jul  8 01:33:45 2007  Tim Janik  <timj@gtk.org>

        * gdk/gdkwindow.c: docu fixup by Bjoern Lindqvist, #454703.



svn path=/trunk/; revision=18398
2007-07-07 23:36:33 +00:00
Richard Hult
8b9cbdb2b6 ]) ([GdkQuartzWindow -windowDidBecomeMain:]): Keep a stack of main windows
2007-07-07  Richard Hult  <richard@imendio.com>

	* gdk/quartz/GdkQuartzWindow.c ([GdkQuartzWindow -windowDidResignMain:]) 
	([GdkQuartzWindow -windowDidBecomeMain:]): 
	* gdk/quartz/gdkwindow-quartz.c (_gdk_quartz_window_did_resign_main)
	(_gdk_quartz_window_did_become_main, gdk_window_hide)
	(_gdk_windowing_window_destroy): Keep a stack of main windows and
	select the most recent one when hiding/closing the current one.

svn path=/trunk/; revision=18396
2007-07-07 16:19:40 +00:00
Richard Hult
5a4ed10fae Fix (de)miniaturizing transient windows, by (un)setting the parent before
2007-07-06  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkprivate-quartz.h:
	* gdk/quartz/gdkwindow-quartz.c:
	* gdk/quartz/GdkQuartzWindow.c: Fix (de)miniaturizing transient
	windows, by (un)setting the parent before and after miniaturizing.

svn path=/trunk/; revision=18388
2007-07-06 19:49:42 +00:00
Richard Hult
9ba84faa5a Add stub.
2007-07-06  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkkeys-quartz.c (gdk_keymap_have_bidi_layouts): Add
	stub.

svn path=/trunk/; revision=18387
2007-07-06 18:46:39 +00:00
Tim Janik
52c134e007 added usage example to gdk_event_request_motions() docs.
Wed Jul  4 12:20:23 2007  Tim Janik  <timj@imendio.com>

        * gdk/gdkevents.c (gdk_event_request_motions): added usage example
        to gdk_event_request_motions() docs.



svn path=/trunk/; revision=18378
2007-07-04 10:21:05 +00:00
Richard Hult
a07742849e Keep track of button state and include it in key events. Needed for gimp's
2007-07-03  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkevents-quartz.c: Keep track of button state and
	include it in key events. Needed for gimp's selection tools and
	fixes bug #453411.

svn path=/trunk/; revision=18369
2007-07-03 20:31:59 +00:00
Richard Hult
eb3dcdf094 Include modifier state in key release events. Fixes bug #453413.
2007-07-03  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkevents-quartz.c (create_key_event): Include
	modifier state in key release events. Fixes bug #453413.

svn path=/trunk/; revision=18367
2007-07-03 18:49:09 +00:00
Tor Lillqvist
92421f96f6 Implement. Just return FALSE for now. What should this function actually
2007-07-03  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkkeys-win32.c (gdk_keymap_have_bidi_layouts):
	Implement. Just return FALSE for now. What should this function
	actually do? Does keyboards layouts being "in use" mean that such
	layouts can be switched to on the fly? If so we need to actually
	check that.


svn path=/trunk/; revision=18359
2007-07-03 16:53:17 +00:00
Richard Hult
460833b2bc Continue the event handling cleanup:
2007-06-30  Richard Hult  <richard@imendio.com>

	Continue the event handling cleanup:

	* gdk/quartz/gdkevents-quartz.c: (synthesize_crossing_events):
	Don't do anything if the old and new windows are the same,
	simplifies the callers.
	(find_mouse_window_for_ns_event): Always return a window (root
	instead of NULL). Remove unneccessary check for the current mouse
	window being NULL, that was a workaround for a now fixed
	bug. Convert to root coordinates if we don't find a window.
	(synthesize_crossing_events_for_ns_event): Simplify and add
	comment.

svn path=/trunk/; revision=18316
2007-06-30 21:50:06 +00:00
Richard Hult
ee283b058a Simplify (get the origin directly from the window).
2007-06-30  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkevents-quartz.c:
	(synthesize_crossing_events_for_ns_event): Simplify (get the
	origin directly from the window).

svn path=/trunk/; revision=18315
2007-06-30 19:55:20 +00:00
Richard Hult
a598c633b5 No need to special case the root window now that it has the right size.
2007-06-30  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkevents-quartz.c: (create_crossing_event),
	(synthesize_crossing_events), (find_mouse_window_for_ns_event),
	(synthesize_crossing_events_for_ns_event): No need to special case
	the root window now that it has the right size.

svn path=/trunk/; revision=18314
2007-06-30 19:50:31 +00:00
Richard Hult
95f61d98f3 Improve comments in those files. Add a debugging helper to print out
2007-06-30  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c:
	* gdk/quartz/gdkevents-quartz.c: Improve comments in those
	files. Add a debugging helper to print out information about a
	window.

svn path=/trunk/; revision=18313
2007-06-30 19:39:45 +00:00