Commit Graph

2309 Commits

Author SHA1 Message Date
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
Richard Hult
59687608aa Set frame, not bounds when resizing to be consistent and to avoid
2008-02-14  Richard Hult  <richard@imendio.com>

	* gdk/quartz/GdkQuartzWindow.c: Set frame, not bounds when
	resizing to be consistent and to avoid introducing an internal
	transform in the view.

svn path=/trunk/; revision=19566
2008-02-14 21:34:54 +00:00
Richard Hult
5737e8f78f Coding style fix.
2008-02-14  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkdisplay-quartz.c: (gdk_display_open): Coding style
	fix.

svn path=/trunk/; revision=19565
2008-02-14 15:51:13 +00:00
Johan Dahlin
ddf4a07053 gdk/gdktestutils.h Remove ; trailing G_BEGIN/END_DECLS
2008-02-14  Johan Dahlin  <johan@gnome.org>

    * gdk/gdktestutils.h
    * gtk/gtktestutils.h: Remove ; trailing G_BEGIN/END_DECLS


svn path=/trunk/; revision=19564
2008-02-14 15:48:35 +00:00
Richard Hult
8e66480c6c Fix the return value (return number of colors that failed), and handle
2008-02-13  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkcolor-quartz.c: (gdk_colormap_alloc_colors): Fix
	the return value (return number of colors that failed), and handle
	RGBA colormap.
	(gdk_colormap_free_colors): Fix typo in comment.

svn path=/trunk/; revision=19557
2008-02-13 14:20:51 +00:00
Richard Hult
d6098bb41a Ignore the delta from the NSEvent for now, generating multiple scroll
2008-02-08  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkevents-quartz.c (gdk_event_translate): Ignore the
	delta from the NSEvent for now, generating multiple scroll events
	results in a lot of events getting queued up and things get really
	slow.

svn path=/trunk/; revision=19499
2008-02-08 19:08:40 +00:00
Cody Russell
e97c716a21 gdk/win32/gdkevents-win32.c Fixed two declarations in the middle of a
2008-02-07  Cody Russell  <bratsche@gnome.org>

        * gdk/win32/gdkevents-win32.c
        * gdk/win32/gdkwindow-win32.c: Fixed two declarations in the middle
        of a block that were causing compile problems on old
        compilers. (#515053, reported by Kazuki IWAMOTO)


svn path=/trunk/; revision=19493
2008-02-07 19:25:07 +00:00
Christian Persch
08856e5af9 If the pixbuf has an alpha channel, use gdk_draw_rgb_32_image to draw it
2008-02-07  Christian Persch  <chpe@gnome.org>

	* gdk/gdkpixbuf-render.c:
	(gdk_pixbuf_render_pixmap_and_mask_for_colormap): If the pixbuf has an
	alpha channel, use gdk_draw_rgb_32_image to draw it to the pixmap;
	otherwise there will be random pixel values in the semi-transparent
	area of the pixbuf within the mask. Bug #487865.

svn path=/trunk/; revision=19488
2008-02-06 23:08:07 +00:00
Cody Russell
6e03989a4c Also check that the window is not mapped.
svn path=/trunk/; revision=19485
2008-02-06 17:01:47 +00:00
Cody Russell
84dd6a99b8 Check if the window is a temp window, otherwise things get wonky when you
2008-02-06  Cody Russell  <bratsche@gnome.org>

        * gdk/win32/gdkevents-win32.c: Check if the window is a temp window,
        otherwise things get wonky when you click on a menu.  This fixes
        a regression caused in #505928.  Thanks to Tor for spotting this
        one!  (#514789)


svn path=/trunk/; revision=19482
2008-02-06 16:32:41 +00:00
Cody Russell
275760cd0c Walk down the stack until we get to a window that is mapped. Otherwise
2008-02-05  Cody Russell  <bratsche@gnome.org>

        * gdk/win32/gdkwindow-win32.c (_gdk_modal_current): Walk
        down the stack until we get to a window that is mapped.
        Otherwise hiding a window will cause all windows in the app
        to be blocked. (#514643)


svn path=/trunk/; revision=19477
2008-02-05 23:46:35 +00:00
Cody Russell
db58254c5c gdk/win32/gdkprivate-win32.h gdk/win32/gdkevents-win32.c
2008-02-05  Cody Russell  <bratsche@gnome.org>

        * gdk/win32/gdkprivate-win32.h
        * gdk/win32/gdkevents-win32.c
        * gdk/win32/gdkwindow-win32.c
        * gdk/win32/gdkwindow-win32.h
        * gdk/win32/gdkwin32.h:
        Modal window rework.  (#455627 and #511111)


svn path=/trunk/; revision=19463
2008-02-05 16:47:24 +00:00
Cody Russell
857fe308f5 Refactored some of the window hiding/showing code from WM_ACTIVATE to
2008-01-31  Cody Russell  <bratsche@gnome.org>

        * gdk/win32/gdkevents-win32.c:
        Refactored some of the window hiding/showing code from
        WM_ACTIVATE to WM_SIZE and WM_SYSCOMMAND.  Having this
        under WM_ACTIVATE was causing the application to go into
        a weird state when the user right-clicked on the taskbar
        entry of a window that was minimized.  (#505928)


svn path=/trunk/; revision=19451
2008-01-31 22:40:37 +00:00
Sven Neumann
53fa8e3174 applied patch from Denis Oliver Kropp <dok@directfb.org>.
2008-01-31  Sven Neumann  <sven@gimp.org>

	* gdk/directfb/gdkimage-directfb.c 
(_gdk_directfb_copy_to_image):
	applied patch from Denis Oliver Kropp <dok@directfb.org>.


svn path=/trunk/; revision=19448
2008-01-31 17:27:54 +00:00
Sven Neumann
9e528c18ad gdk/directfb/gdkdisplay-directfb.c gdk/directfb/gdkdrawable-directfb.c
2008-01-31  Sven Neumann  <sven@gimp.org>

	* gdk/directfb/gdkdisplay-directfb.c
	* gdk/directfb/gdkdrawable-directfb.c
	* gdk/directfb/gdkprivate-directfb.h
	* gdk/directfb/gdkwindow-directfb.c: applied patch from Denis
	Oliver Kropp <dok@directfb.org>. Fixes remaining warnings.


svn path=/trunk/; revision=19447
2008-01-31 17:25:19 +00:00