Commit Graph

2323 Commits

Author SHA1 Message Date
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
Tor Lillqvist
93a5db1511 Bug 496958 - Wacom Bamboo Doesn't Function with GTK apps in Win32
2008-05-13  Tor Lillqvist  <tml@novell.com>

	Bug 496958 - Wacom Bamboo Doesn't Function with GTK apps in Win32

	* gdk/win32/gdkinput-win32.c (_gdk_input_wintab_init_check): Set
	the "packet rate" of devices to zero instead of 50. This is
	reported to help significantly with Wacom tablet behaviour in GIMP
	and Inkscape. Patch from Thomas Bleeker.


svn path=/trunk/; revision=20104
2008-05-13 08:49:51 +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
Tor Lillqvist
b372221dfd Bug 532558 - Cannot build dll when using separate builddir
2008-05-12  Tor Lillqvist  <tml@novell.com>

	Bug 532558 - Cannot build dll when using separate builddir

	* gdk/Makefile.am
	* gtk/Makefile.am: .def file belongs in $(srcdir). Patch by Marko
	Lindqvist.


svn path=/trunk/; revision=20097
2008-05-12 08:49:08 +00:00
Tor Lillqvist
40ae6fc8d2 Bug 532059 - Leak in win32 clipboard manipulation
2008-05-12  Tor Lillqvist  <tml@novell.com>

	Bug 532059 - Leak in win32 clipboard manipulation

	* gdk/win32/gdkselection-win32.c
	(gdk_win32_selection_add_targets): Plug memory leak. Patch by
	Daniel Atallah.


svn path=/trunk/; revision=20092
2008-05-12 07:05:40 +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
Michael David Emmel
23689688bc Bug 529841 – incorrect position in directfb
svn path=/trunk/; revision=20044
2008-04-25 17:50:43 +00:00
Michael Natterer
079dcccc8d include <pango/pango.h> instead of <pango/pango-font.h>.
2008-04-25  Michael Natterer  <mitch@imendio.com>

	* gdk/gdkfont.h: include <pango/pango.h> instead of
	<pango/pango-font.h>.


svn path=/trunk/; revision=20041
2008-04-25 14:48:32 +00:00
Michael Natterer
53df062635 reorder one include so they are all alphabetical.
2008-04-18  Michael Natterer  <mitch@imendio.com>

	* gdk/gdk.h: reorder one include so they are all alphabetical.


svn path=/trunk/; revision=20022
2008-04-18 14:52:22 +00:00
Matthias Clasen
1d119938c7 Don't call XFreeColormap on foreign colormaps
svn path=/trunk/; revision=19969
2008-04-03 05:08:05 +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
Tor Lillqvist
6861b9247f Bug 524151 - Dragging of 0-byte files results in an empty filename on
2008-03-24  Tor Lillqvist  <tml@novell.com>

	Bug 524151 - Dragging of 0-byte files results in an empty filename
	on Windows XP and above

	* gdk/win32/gdkdnd-win32.c (resolve_link): Check for the file
	being empty first. For some reason ISHellLink and IPersistFile
	succeeds in interpreting empty files as shortcuts, claiming the
	target of the shortcut is an empty path.

	Change the function to take the wide character file name that the
	caller already has anyway, to avoid a superfluous conversion from
	UTF-8 to UTF-16.


svn path=/trunk/; revision=19931
2008-03-24 17:35:02 +00:00
Cody Russell
ca2987a0f9 Check window state for GDK_WINDOW_STATE_ICONIFIED before doing ShowWindow
2008-03-23  Cody Russell  <bratsche@gnome.org>

        * gdk/win32/gdkevents-win32.c (show_window_recurse):
        Check window state for GDK_WINDOW_STATE_ICONIFIED before doing
        ShowWindow (SW_RESTORE).  This fixes a problem where tearing off
        menus from a maximized window would force the window to restore
        its size. (#518846)


svn path=/trunk/; revision=19926
2008-03-23 15:37:40 +00:00
Michael Natterer
57fa18345f gdk/gdkspawn.h gtk/gtkbuilderprivate.h gtk/gtkfilechoosersettings.c
2008-03-14  Michael Natterer  <mitch@imendio.com>

	* gdk/gdkspawn.h
	* gtk/gtkbuilderprivate.h
	* gtk/gtkfilechoosersettings.c
	* gtk/gtksearchenginesimple.c
	* gtk/tests/liststore.c
	* gtk/tests/treestore.c: remove single-file includes of GLib
	headers or replace them by <glib.h> where needed.


svn path=/trunk/; revision=19877
2008-03-14 20:38:58 +00:00
Tor Lillqvist
ea87c926e2 Drop the support for the MSH_MOUSEWHEEL message that MSDN says is used
2008-03-14  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkevents-win32.c: Drop the support for the
	MSH_MOUSEWHEEL message that MSDN says is used only on NT 3.51 and
	Win95. Thanks to mitch for noticing this obsolete code.


svn path=/trunk/; revision=19874
2008-03-14 16:11:50 +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
Michael Natterer
e8c3fbf4d8 removed linux-fb backend files.
2008-03-11  Michael Natterer  <mitch@imendio.com>

	* gdk/linux-fb/*: removed linux-fb backend files.

	* acconfig.h
	* config.h.win32.in
	* docs/README.linux-fb
	* gtk/Makefile.am: remove remaining traces of linux-fb.

	* gtk/gtkwindow-decorate.c: same here. There is some code that
	calls into linux-fb to set window move/resize callbacks. I put it
	in #if 0 as a reminder because we did use decorated windows with
	the DirectFB backend and it did work, so I don't really know why
	this code is needed or how it could work with DirectFB back then.
	The file does actually compile now if DECORATE_WINDOWS is defined,
	but I didn't test with DirectFB to check if it does anything.


svn path=/trunk/; revision=19749
2008-03-11 17:14:00 +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
Tor Lillqvist
0f7099e308 Bug 520286 - Non-deletable window has no minimize / maximize buttons
2008-03-10  Tor Lillqvist  <tml@novell.com>

	Bug 520286 - Non-deletable window has no minimize / maximize buttons

	* gdk/win32/gdkmain-win32.c (_gdk_win32_window_style_to_string):
	New debugging output function that decodes a set of WS_* bits.

	* gdk/win32/gdkprivate-win32.h: Declare it.

	* gdk/win32/gdkwindow-win32.c (update_single_system_menu_entry):
	New function that enables or disables one menu entry in the system
	menu of a top-level window. (The corresponding decoration will
	then also be enabled or disabled (grayed).)

	(update_style_bits): Do as the comment says and don't try to
	update the window style based on the GdkWMFunctions set for the
	window.
		   
	(update_system_menu): New function that enables or disables the
	system menu entries based on a window's stored set of
	GdkWMFunctions.

	(gdk_window_set_functions): Call update_system_menu() instead of
	update_style_bits().


svn path=/trunk/; revision=19743
2008-03-10 15:48:06 +00:00
Simos Xenitellis
11abc0d691 Fix #321896 - Synch gtkimcontextsimple.c with Xorg
svn path=/trunk/; revision=19706
2008-03-04 11:21:48 +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
Richard Hult
c17e6f1fa2 Highlight the mouse window when event debugging is enabled.
2008-02-17  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkevents-quartz.c
	(_gdk_quartz_events_update_mouse_window): Highlight the mouse
	window when event debugging is enabled.

svn path=/trunk/; revision=19603
2008-02-17 09:54:57 +00:00
Richard Hult
ccc8afdbf2 Add state to the scroll event (bug #516757, Paul Davis).
2008-02-16  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkevents-quartz.c (create_scroll_event): Add state
	to the scroll event (bug #516757, Paul Davis).

svn path=/trunk/; revision=19598
2008-02-16 09:49:52 +00:00
Matthias Clasen
580ae3106d Don't install private headers. (#463510)
2008-02-15  Matthias Clasen  <mclasen@redhat.com>

        * gdk/Makefile.am: Don't install private headers. (#463510)

        * gdk/gdkinternal.h: Include gdkmedialib.h here, not in
        the installed header gdkprivate.h.



svn path=/trunk/; revision=19595
2008-02-16 04:33:48 +00:00
Richard Hult
2dd5dd6340 Add debugging code to highlight a gdkwindow.
2008-02-16  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkprivate-quartz.h:
	* gdk/quartz/gdkwindow-quartz.c: Add debugging code to highlight a
	gdkwindow.

svn path=/trunk/; revision=19587
2008-02-16 00:27:29 +00:00
Matthias Clasen
45e33fe9c2 Go back to 2.13.0 as version for now, as there was no consensus to do the
2008-02-15  Matthias Clasen  <mclasen@redhat.com>

        * configure.in: Go back to 2.13.0 as version for now,
        as there was no consensus to do the jump.

        * many other places: Update Since: tags.



svn path=/trunk/; revision=19586
2008-02-15 23:42:42 +00:00
Richard Hult
db38664512 Adapt to the change to use frame instead of bounds when resizing windows.
2008-02-15  Richard Hult  <richard@imendio.com>

	* gdk/quartz/GdkQuartzView.c: Adapt to the change to use frame
	instead of bounds when resizing windows.

svn path=/trunk/; revision=19580
2008-02-15 19:06:49 +00:00
Matthias Clasen
741cd0e2ae Fix a small doc issues.
2008-02-15  Matthias Clasen  <mclasen@redhat.com>

        * gdk/x11/gdkkeys-x11.c:
        * gdk/x11/gdkcolor-x11.c:
        * gdk/gdkpolyreg-generic.c: Fix a small doc issues.


svn path=/trunk/; revision=19579
2008-02-15 19:02:44 +00:00
Matthias Clasen
a8d1c9808c Documentation fixes
svn path=/trunk/; revision=19577
2008-02-15 18:37:34 +00:00
Richard Hult
aa8b00a923 Using makeKeyWindow unfortunately doesn't work in all cases, we must use
2008-02-14  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c: (gdk_window_focus): Using
	makeKeyWindow unfortunately doesn't work in all cases, we must use
	makeKeyAndOrderFront.

svn path=/trunk/; revision=19568
2008-02-14 21:48:41 +00:00
Richard Hult
b9d88ac6e5 Make sure we leave fullscreen mode if the window is hidden.
2008-02-14  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c: (get_fullscreen_geometry),
	(gdk_window_hide), (gdk_window_fullscreen),
	(gdk_window_unfullscreen): Make sure we leave fullscreen mode if
	the window is hidden.

svn path=/trunk/; revision=19567
2008-02-14 21:41:59 +00:00