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.
Revert commit f4090b5c84, as that
conflicts with the client-side-windows work. Furthermore, that
change is already applied as part of the client-side-windows work.
2009-03-27 Behdad Esfahbod <behdad@gnome.org>
Bug 437533 – Implement draw_shape PangoRenderer method
* gdk/gdkpango.c (gdk_pango_renderer_draw_shape),
(gdk_pango_renderer_class_init): Implement draw_shape
* demos/gtk-demo/rotated_text.c (fancy_shape_renderer),
(create_fancy_attr_list_for_layout), (rotated_text_expose_event),
(do_rotated_text):
1) Port to pangocairo
2) Also show a rotated label
3) Install a custom shape renderer on both. The second one goes
through gdkpango and hence tests the patch above. It's working.
svn path=/trunk/; revision=22592
2009-03-17 Tor Lillqvist <tml@novell.com>
Bug 575700 - Crash when moving a GtkWindow
* gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix
embarrassing crasher bug introduced on 2009-03-11. A variable was
assigned a value only inside a GDK_NOTE but still used outside
that.
svn path=/trunk/; revision=22568
2009-03-11 Tor Lillqvist <tml@iki.fi>
Bug 573067 - Intra-app dnd of text behavior on Windows is wrong
* gdk/win32/gdkdnd-win32.c (local_send_motion) (gdk_drag_motion):
The default action should be move, not copy. Tweak how the
GdkDragAction fields in GdkDragContexts are changed. Seems to help
the problem.
Add more debugging printout for --gdk-debug=dnd to many functions.
* gdk/win32/gdkmain-win32.c
* gdk/win32/gdkprivate-win32.h: (_gdk_win32_drag_protocol_to_string)
(_gdk_win32_drag_action_to_string): New functions for use in
debugging printouts.
svn path=/trunk/; revision=22522
2009-03-11 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkdnd-win32.c: Use G_DEFINE_TYPE. Some debugging
printout changes. Hacking on the OLE2_DND code, which still
doesn't work, though, and is not normally compiled.
svn path=/trunk/; revision=22517
2009-03-11 Tor Lillqvist <tml@iki.fi>
Bug 570896 - gdkevents-win32.c(2947) : error C4053: one void
operand for '?:'
* gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix
compilation error with MSVC. While at it add clarifying comments
and fix a typo in the debugging output.
svn path=/trunk/; revision=22515
2009-03-11 Tor Lillqvist <tml@iki.fi>
Bug 574794 - Can not resize shaped windows on Windows
* gdk/win32/gdkevents-win32.c (gdk_event_translate): On handling
WM_WINDOWPOSCHANGED, don't do anything if the position and size
hasn't changed. I am not exactly sure I understand why this helps
this particular bug.
svn path=/trunk/; revision=22511
GtkNotebook tabs
* gtk/gtkwidget.c (_gtk_widget_synthesize_crossing): Be a little
more careful when navigating up the parent chain.
* gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Reset the
pointer window thats stored on the screen when it is destroyed.
svn path=/trunk/; revision=22420
* gdk/x11/gdkevents-x11.c:
* gdk/x11/gdkscreen-x11.[hc]: Another attempt at getting Xrandr
screen size changes right. Actually handle XRRScreenChangeNotify
events, and ignore root ConfigureNotify events if we are using
Xrandr. Only emit size-changed signals if the screen size changed,
and only emit monitor-changed signals if the monitors changed.
svn path=/trunk/; revision=22398
2009-02-19 Ray Strode <rstrode@redhat.com>
* gdk/x11/gdkscreen-x11.c
(monitor_compare_function), (init_randr13):
After using randr to get a list of monitors,
sort the list such that the biggest output
of "cloned" outputs comes first in the list.
This helps apps that don't generally handle
overlapping outputs to work better in randr
clone mode.
svn path=/trunk/; revision=22386
2009-02-19 Sven Neumann <sven@gimp.org>
* gdk/directfb/gdkwindow-directfb.c
(gdk_directfb_window_move_resize): looks like being called with
negative width and height should be interpreted as a move. Fixes
scrolling and makes popups work to some extent.
(_gdk_directfb_move_resize_child): formatting.
svn path=/trunk/; revision=22384
2009-02-19 Sven Neumann <sven@gimp.org>
* gdk/directfb/gdkdisplay-directfb.c (gdk_display_open): move
the
call to _gdk_windowing_window_init() up a little. Fixes a crash
when running on pseudo-color visuals. Thanks to Masse Nicolas
for
pointing this out.
svn path=/trunk/; revision=22382
2009-02-19 Sven Neumann <sven@gimp.org>
* gdk/directfb/gdkwindow-directfb.c
(gdk_window_foreign_new_for_display, gdk_directfb_window_new):
initialize private->impl. Thanks to Masse Nicolas for pointing
this out.
svn path=/trunk/; revision=22380
2009-02-18 Sven Neumann <sven@gimp.org>
Bug 533456 – Memory leak when window is destroyed
* gdk/directfb/gdkdirectfb.h
* gdk/directfb/gdkprivate-directfb.h
* gdk/directfb/gdkcursor-directfb.c
* gdk/directfb/gdkevents-directfb.c
* gdk/directfb/gdkwindow-directfb.c: removed all #ifdef checks
for
DIRECTFB_MAJOR_VERSION >= 1. We depend on DirectFB >= 1.0.0 now.
Fixes a potential build issue that would lead to a memory leak
as
described in bug #533456.
svn path=/trunk/; revision=22367
2009-02-18 Sven Neumann <sven@gimp.org>
Bug 513422 – Unknown meaning of translatable messages
* gdk/directfb/gdkdisplay-directfb.c: removed broken and
commented
code and the translatable messages that belonged to it.
svn path=/trunk/; revision=22365
2009-02-18 Sven Neumann <sven@gimp.org>
Bug 560671 – the client_message API doesn't work in DirectFB
* gdk/directfb/gdkevents-directfb.c: applied a slightly cleaned
up
patch from Steve Lhomme that adds this functionality using
DirectFB's DFBUserEvent.
svn path=/trunk/; revision=22363
2009-02-18 Sven Neumann <sven@gimp.org>
Bug 543710 – Dead keys do not work anymore with DirectFB
* gdk/directfb/gdkkeys-directfb.c (gdk_directfb_translate_key):
applied patch from Josselin Mouette that removes special
handling
of dead keys as that is done by DirectFB for a long time
already.
svn path=/trunk/; revision=22361
2009-02-18 Sven Neumann <sven@gimp.org>
Bug 554407 – directfb backend does not implement GdkWindowImpl
* gdk/directfb/gdkgeometry-directfb.c
* gdk/directfb/gdkprivate-directfb.h
* gdk/directfb/gdkwindow-directfb.c: fix the build of the
DirectFB
backend and resurrect basic functionality. Based on a patch from
the Ubuntu bug-tracker and work by Masse Nicolas.
svn path=/trunk/; revision=22357
* configure.in: Check for Xrandr 1.3
* gdk/x11/gdkdisplay-x11.[ch]: Rename have_randr12 to have_randr13
and set if if we have randr 1.3
* gdk/x11/gdkscreen-x11.c: Go back to using randr for monitor
information, if we have XRRGetScreenResourcesCurrent.
svn path=/trunk/; revision=22327
2009-02-09 Cody Russell <bratsche@gnome.org>
* gdk/win32/gdkwin32.h: Add potentially missing #defines for
XBUTTON1, etc. Fixes the build that was broken in r21746.
svn path=/trunk/; revision=22297
2009-01-29 Tor Lillqvist <tml@novell.com>
Bug 559408 - Transparency lost when images are copied between GTK+
and the clipboard on Windows
The code in gdkselection-win32.c is simplified quite a lot. When
an image is stored on the clipboard from GTK+, only the "PNG" and
CF_DIB formats are advertised. PNG is our preferred format because
it can losslessly represent any image that gdk-pixbuf can handle,
even with alpha, unambiguously. CF_DIB is also advertised because
of its ubiquitous support in Windows software.
Delayed rendering is used as before, so for other data than text
nothing is actually stored on the clipboard until some app asks
for it.
It's pointless to advertise images formats like "image/png" or
"image/x-MS-bmp" that no other Windows application is going to
look for anyway. Likewise it's pointless to store text under
formats like "text/plain" or "UTF8_STRING". Just store
CF_UNICODETEXT. CF_TEXT will be available as a synthesized format
anyways.
Office 2007 offers and asks for images in PNG format using the
registered clipboard format name "PNG", so we do likewise. If the
"PNG" format is available that is preferred when copying to GTK+
from the clipboard.
Unfortunately Word 2007 still uses CF_DIB without handling
alpha. But PowerPoint 2007 uses PNG if available and handles alpha
correctly. Both Word and Powerpoint offer PNG with alpha nicely.
Firefox and IE7 offer images that contain alpha as 32-bit version
3 BI_RGB DIBs with the undocumented "extra" bytes actually being
alpha. Also, alpha is premultiplied into the RGB bytes, presumably
because that is how AlphaBlend() wants such DIBs. That is also
taken care of. At least for Firefox it easy to be sure that a
CF_DIB on the clipboard is from Firefox.
Also some general stylistic cleanup, comment improvements, and
improvements of debugging printout especially in the clipboard
handling. Those are not detailled below.
* gdk/win32/gdkprivate-win32.h
* gdk/win32/gdkglobals-win32.c
* gdk/win32/gdkgmain-win32.c: Move some globals that were used
only in gdkselection-win32.c to be local to that file.
* gdk/win32/gdkproperty-win32.c (gdk_property_change): Don't
bother checking if text to be placed on the clipboard consists of
only ASCII.
* gdk/win32/gdkselection-win32.c: Add static variables for a list
of GdkPixbuf-supported formats, well-known registered clipboard
formats for images, and for GdkAtoms for well-known image and text
formats.
(_gdk_win32_selection_init): Initialize above static variables.
(selection_property_store) (gdk_selection_property_get)
(_gdk_selection_property_delete): Don't use a FIFO of GdkSelProps
for a window after all, it breaks testtext. See bug #163844.
(gdk_selection_convert): When converting to the TARGETS format,
i.e. when the caller wants to know what clipboard formats are
available, if PNG is available we report just that and skip
CF_DIB, JPEG and GIF even if advertised.
If CF_UNICODETEXT is available, report only UTF8_STRING.
When converting to the UTF8_STRING format, i.e. when the caller
wants text from the clipboard, try just CF_UNICODETEXT. There is
no point in trying CF_TEXT as Windows will synthesize
CF_UNICODETEXT from CF_TEXT anyway, if some app has stored just
CF_TEXT.
When converting to the image/bmp format, i.e. when the caller
wants an CF_DIB image from the clipboard, we check if the DIB is a
version 3 32-bit BI_RGB one that is likely to actually contain
alpha in the "extra" bytes. Such a DIB is likely to have
premultiplied alpha even, at least in the case of Firefox 3 and
IE7. We then edit the DIB in-place into a version 5 one in
BI_BITFIELDS format and undo the alpha premultiplication.
In any case, prepend a BMP file header before letting go of the
data which will be fed to the gdk-pixbuf bmp loader by upper
levels.
(gdk_win32_selection_add_targets): If some kind of pixmap image
format is being added, actually advertise just PNG and
CF_DIB. Note that alpha won't be stored on the clipboard through
CF_DIB. This is because gdk-pixbuf's bmp loader doesn't save
alpha. Furthermore, few if any non-GTK+ Windows apps seem to
understand a version 5 DIB with proper alpha anyway.
(_gdk_win32_selection_convert_to_dib): Simplified muchly.
svn path=/trunk/; revision=22255
2009-01-29 Claudio Saavedra <csaavedra@igalia.com>
Bug 569435 – make maintainer-clean removes non-generated sources
* gdk/Makefile.am: Do not remove gdkprivate.h and gdkwindowimpl.h
during make maintainer-clean, as these files are not generated.
svn path=/trunk/; revision=22248
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
* gtk/gtkwidget.c (gtk_widget_get_snapshot): Use a different approach
to snapshotting that is in line with what is done in the client-side
windows branch, and that works for widgets regardless if they are
double-buffered or not. Patch by Alex Larsson.
* gdk/gdkwindow.c (_gdk_window_calculate_full_clip_region): Clip
to the parent.
svn path=/trunk/; revision=22187
2009-01-21 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkcursor-win32.c: Rename static local functions and
variables to not have any unnecessary _ or _gdk_win32 prefix.
* gdk/win32/gdkcursor-win32.c (hcursor_from_type): Implement
creating a GDK_BLANK_CURSOR.
svn path=/trunk/; revision=22165
Patch by David Alan Gilbert.
* gdk/gdkcursor.h: Add a GDK_BLANK_CURSOR cursor type.
* gdk/x11/gdkcursor-x11.c: Cache font cursors and named cursors.
* gdk/x11/gdkprivate-x11.h:
* gdk/x11/gdkcdisplay-x11.c: Remove cached cursors when a
display if finalized.
svn path=/trunk/; revision=22145
2009-01-12 Tor Lillqvist <tml@iki.fi>
* gdk/gdk.c (gdk_arg_debug_cb) (gdk_arg_no_debug_cb): A
GOptionArgFunc should return gboolean and take also a GError
pointer parameter, so make these two functions do that. Return
FALSE (and set the GError) if the parsing of the debug string
failed completely. Note that g_parse_debug_string() doesn't really
have any way to return parsing status, and accepts partially
incorrect strings, though.
svn path=/trunk/; revision=22095
2009-01-11 Tor Lillqvist <tml@iki.fi>
Bug 523554 - Copy from GIMP to Word broken
* gdk/win32/gdkselection-win32.c
(_gdk_win32_selection_convert_to_dib): The DIB stored in the
Windows Clipboard was for some unknown reason truncated by one
byte. Don't do that.
svn path=/trunk/; revision=22086
2009-01-09 Christian Dywan <christian@imendio.com>
Fail in gdk_window_new if _gdk_window_new failed
* gdk/gdkwindow.c (gdk_window_new): Add g_return_val_if_fail
in case _gdk_window_new is NULL. Approved by Tim Janik
svn path=/trunk/; revision=22082
2009-01-05 Tor Lillqvist <tml@novell.com>
Bug 566628 - gdk_display_close always asserts on win32
* gdk/win32/gdkdisplay-win32.c
(_gdk_windowing_set_default_display): Allow also a NULL parameter
in the g_assert(). Still don't actually do anything in this
function, though.
svn path=/trunk/; revision=22068
2009-01-03 Matthias Clasen <mclasen@redhat.com>
* gdk/x11/gdkscreen-x11.h:
* gdk/x11/gdkevents-x11.c (fetch_net_wm_check_window): Recheck
_NET_SUPPORTING_WM_CHECK every now and then to avoid getting
stuck on the id of a former wmcheck window that got reused by
another client (see RH bug 471927)
svn path=/trunk/; revision=22058
2008-11-30 Christian Dywan <christian@imendio.com>
Bug 559622 – GdkDevice test segfaults
* gdk/x11/gdkdisplay-x11.c (gdk_display_x11_dispose):
* gdk/x11/gdkinput.c (gdk_device_class_init), (gdk_device_dispose):
Free and reset device in dispose. Patch by Michael Natterer and myself.
svn path=/trunk/; revision=21834
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 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-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-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 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-04 Tor Lillqvist <tml@novell.com>
Bug 557212 - Problem with which window gains focus and is visible
* gdk/win32/gdkevents-win32.c (ensure_stacking_on_activate_app):
Only do the restacking for the active window of the
application. Seems to fix the problem.
(gdk_event_translate): Only call ensure_stacking_on_activate_app()
when the application is being activated, not deactivated.
svn path=/trunk/; revision=21756
2008-11-01 Tor Lillqvist <tml@novell.com>
Bug 558278 - Crash when calling a callback set by
gdk_add_client_message_filter()
* gdk/win32/gdkevents-win32.c (apply_event_filters): Rename from
apply_filters() so that it is clear that this function is for
GdkEventFilters only.
(print_event): Print more information for GDK_CLIENT_EVENT events.
(gdk_event_translate): When handling client filters, don't use
apply_event_filters(). Use similar code as in the X11 backend,
although not exactly, as the parameter list and return value
semantics of gdk_event_translate() is different.
svn path=/trunk/; revision=21748
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-21 Michael Natterer <mitch@imendio.com>
* gdk/gdkdraw.c
* gdk/gdkimage.c
* gdk/gdkscreen.c
* gdk/gdkwindow.c: replace assertions for obj != NULL by
GDK_IS_OBJ(), remove redundant != NULL checks when there is
already a type check, add some g_return_if_fail() that were
missing entirely, fix some broken indentation and spacing.
svn path=/trunk/; revision=21695
2008-10-21 Tor Lillqvist <tml@novell.com>
Bug 557266 - Window Management Problem
Also reported in mail to gtk-list, and of course it has been well
known in general that window state management is messy and buggy
in various ways in gdk/win32.
* gdk/win32/gdkwindow-win32.c (show_window_internal): Correct
handling of GDK_WINDOW_STATE_ABOVE windows. It doesn't work to set
the WS_EX_TOPMOST extended style bit using SetWindowLong(). We
must call SetWindowPos() on the window using HWND_TOPMOST
instead. The description for WS_EX_TOPMOST in the documentation
for CreateWindowEx() even implies that if you read it carefully.
svn path=/trunk/; revision=21694
2008-10-21 Michael Natterer <mitch@imendio.com>
* gdk/gdkapplaunchcontext.c: reorder functions to be in standard
order, add prototypes and namespace to static functions, add
g_return_if_fail()s which were missing all over the place.
svn path=/trunk/; revision=21692
2008-10-18 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkevents-win32.c (gdk_event_translate): On
WM_WINDOWPOSCHANGING, don't dereference windowpos in the debugging
output without setting it first.
2008-10-18 Tor Lillqvist <tml@novell.com>
Bug 556578 - GIMP windows stay on top of other windows
* gdk/win32/gdkevents-win32.c (ensure_stacking_on_unminimize)
(ensure_stacking_on_window_pos_changing)
(ensure_stacking_on_activate_app): Ignore unmapped windows in the
loops where we look for the lowest "transient-type" window.
(gdk_event_translate): Don't call
ensure_stacking_on_window_pos_changing() or
ensure_stacking_on_activate_app() for unmapped windows.
svn path=/trunk/; revision=21676
2008-10-15 Michael Natterer <mitch@imendio.com>
* gdk/gdkapplaunchcontext.h (GDK_IS_APP_LAUNCH_CONTEXT): fix typo
in the type name so the macro becomes usable.
svn path=/trunk/; revision=21658
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-04 Tor Lillqvist <tml@novell.com>
Bug 132501 - Make utility window translate to tool window in win32
Implement the utility window type hint. Such windows are kept on
top of other windows. Makes GIMP's toolbox and dock windows behave
more like in GNOME under metacity. Apply the same logic also to
windows marked with the dialog window type hint, and windows that
are transient for some other window. I'll call such windows
"transient-type" below.
* gdk/win32/gdkevents-win32.c (doesnt_want_key): Drop unused
variables.
(ensure_stacking_on_unminimize)
(ensure_stacking_on_window_pos_changing)
(ensure_stacking_on_activate_app): New functions to implement the
desired stacking order. Make sure that a window that is not
transient-type stays below any transient-type windows of the
application. When activating a non-transient-type window make sure
it rises as high as possible.
(gdk_event_translate): Call above functions on
WM_WINDOWPOSCHANGING, WM_ACTIVATEAPP and on WM_SIZE when
unminimizing. Improve debugging printout.
* gdk/win32/gdkwindow-win32.c (get_effective_window_decorations):
Handle utility windows like toolbar windows.
(gdk_window_new_internal) (update_style_bits): Give utility
windows the WS_EX_TOOLWINDOW extended style.
(gdk_window_set_title): If debugging "misc" or "events", make the
handle of top-level windows show up in their title bars. Very
useful when looking at debugging output.
(gdk_window_set_keep_above) (gdk_window_set_keep_below)
(gdk_window_set_modal_hint) (gdk_window_set_skip_taskbar_hint)
(gdk_window_set_skip_pager_hint): Add and improve debugging
printout.
(gdk_window_set_type_hint): Print hint symbolically in GDK_NOTE().
2008-10-04 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkmain-win32.c (_gdk_win32_window_exstyle_to_string)
(_gdk_win32_window_pos_bits_to_string): New debugging printout
functions. Decode the WS_EX_* and SWP_* bits.
* gdk/win32/gdkprivate-win32.h: Declare them. Define
GDK_DEBUG_MISC_OR_EVENTS for use in GDK_NOTE() to match either
"misc" or "events".
svn path=/trunk/; revision=21587
2008-10-01 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkkeys-win32.c (gdk_keymap_get_caps_lock_state):
Implement trivially on Windows. Not sure if something more complex
is actually needed, more specifically whether the function needs
to differentiate between "Caps Lock" and "Shift Lock" semantics?
svn path=/trunk/; revision=21558
2008-09-29 Matthias Clasen <mclasen@redhat.com>
Bug 107000 – Add signals to GdkKeymap for monitoring caps_lock, etc.
* gdk/gdk.symbols:
* gdk/gdkkeys.[ch]: Add a new GdkKeymap::state-changed signal, and
a gdk_keymap_get_caps_lock_state function.
* gdk/x11/gdkkeys-x11.c: Implement it here. For now, only emit
state-changed when caps lock lockedness changes.
* gdk/x11/gdkdisplay-x11.c: Also select for modifier lock status
changes in the XkbSelectEventDetails call.
svn path=/trunk/; revision=21545
2008-09-26 Matthias Clasen <mclasen@redhat.com>
Bug 552956 – Should check composite extension version
* gdk/x11/gdkdisplay-x11.c: Check that the version of the
composite extension is at least 0.4.
Patch by Owen Taylor
svn path=/trunk/; revision=21530
* gdk/x11/gdkinput.c: Add a finalize function for device objects,
and call XCloseDevice there.
* gdk/x11/gdkinput-x11.c:
* gdk/x11/gdkdisplay-x11.c: Move freeing of device objects to
the finalize function.
Patch by Caolan McNamara
svn path=/trunk/; revision=21529
2008-09-26 Cody Russell <bratsche@gnome.org>
Bug 553917 – Typo in gdkwindow-win32.c
* gdk/win32/gdkwindow-win32.c: Fixed a typo in
update_system_menu(). Changed GDK_DECOR_ALL to GDK_FUNC_ALL.
Reported by Richard Hult
svn path=/trunk/; revision=21522
Wed Sep 10 06:18:25 2008 Søren Sandmann <sandmann@redhat.com>
* gdk/x11/gdkscreen-x11.c (init_multihead): Don't use
XRRGetScreenResources() as there are performance issues with
it. Instead rely on the fact that the RandR information is
propagated through Xinerama as well.
svn path=/trunk/; revision=21334
2008-09-06 Matthias Clasen <mclasen@redhat.com>
Bug 550989 – gdk_display_put_event() should call
g_main_context_wakeup()
* gdk/gdkdisplay.c (gdk_display_put_event): Wake up the main loop
after queueing the event. Patch by Owen Taylor
svn path=/trunk/; revision=21307
2008-09-06 Sven Herzberg <sven@imendio.com>
Bug 551063 – deprecated marking without a link to what new code should
use
* gdk/tmpl/input.sgml: dropped tmpl documentation for gdk_input_add()
and gdk_input_add_full()
* gdk/gdkevents.c: added inline documentation for gdk_input_add() and
gdk_input_add_full(); added replacement hints into the deprecation
message
svn path=/trunk/; revision=21305
2008-08-27 Cody Russell <bratsche@gnome.org>
* gdk/win32/gdkevents-win32.c:
* gdk/win32/gdkwindow-win32.c (show_window_recurse): Check if
the window's state has GDK_WINDOW_STATE_MAXIMIZED set before
calling ShowWindow (), and show using SW_SHOWMAXIMIZED or
SW_RESTORE accordingly. This fixes an issue where maximized
windows that are iconified do not restore back to maximized
when you click the taskbar. (#528975)
svn path=/trunk/; revision=21218
2008-08-21 Cody Russell <bratsche@gnome.org>
* gdk/win32/gdkevents-win32.c (doesnt_want_key): Remove the checks
to see if the window is modally blocked. This doesn't get us anything,
and it confuses the search window in GtkTreeView (and potentially other
utility windows in other apps). (#520165)
svn path=/trunk/; revision=21180
+
+ * gdk/x11/gdkscreen-x11.c (_gdk_x11_screen_size_changed): Emit the
+ monitors changed signal when the screen size changes.
+
svn path=/trunk/; revision=21172
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 Sven Herzberg <sven@imendio.com>
Use the g_test_*() API for this test
reviewed by: Richard Hult
* gdk/tests/check-gdk-cairo.c: use the g_test_*() API to permit adding
new tests
svn path=/trunk/; revision=21133
2008-08-15 Sven Herzberg <sven@imendio.com>
Prepare for using the g_test_*() API
reviewed by: Richard Hult
* gdk/tests/check-gdk-cairo.c: use assertions instead of returning an
error code
svn path=/trunk/; revision=21132
2008-08-09 Sven Herzberg <sven@imendio.com>
Get the gdk+cairo test to pass distcheck, too
* gdk/tests/Makefile.am: set GDK_PIXBUF_MODULE_FILE so the test can
pick up the one created at build time
* gdk/tests/check-gdk-cairo.c (main): delete the output files after a
successful test run
svn path=/trunk/; revision=21048
2008-08-07 16:19:16 Tim Janik <timj@imendio.com>
* gdk/gdkrgb.c (gdk_rgb_select_conv): use g_error() instead of a
combination of g_warning+exit to avoid misleading the user.
svn path=/trunk/; revision=21037
2008-08-05 Tor Lillqvist <tml@novell.com>
Bug 544684 - Win64 issue, window handles are assumed to be 32-bit
* gdk/win32/gdkcursor-win32.c
* gdk/win32/xcursors.h: Change some gchar* to guchar* and vice
versa to avoid gcc 4.4 signedness warnings.
* gdk/win32/gdkevents-win32.c: Add some guchar and char pointer
casts to get rid of gcc 4.4 signedness warnings. Print GdkAtom
values in debugging output using the %p format.
* gdk/win32/gdkkeys-win32.c
* gdk/win32/gdkfont-win32.c
* gdk/win32/gdkmain-win32.c: Add some casts to avoid gcc warnings.
* gdk/win32/gdkwindow-win32.c: Use SetWindowLongPtr() instead of
SetWindowLong().
* gdk/win32/gdkwin32id.c (gdk_handle_hash): Use all 64 bits of a
HANDLE on Win64.
svn path=/trunk/; revision=20994
2008-08-05 Tor Lillqvist <tml@novell.com>
Bug 544684 - Win64 issue, window handles are assumed to be 32-bit
* gdk/win32/gdkproperty-win32.c
* gdk/win32/gdkselection-win32.c: Add some guchar and char pointer
casts to get rid of gcc 4.4 warnings. Print GdkAtom values in
debugging output using the %p format.
svn path=/trunk/; revision=20993
2008-08-05 Tor Lillqvist <tml@novell.com>
Bug 544684 - Win64 issue, window handles are assumed to be 32-bit
* gdk/gdkselection.h
* gdk/gdkselection.c
* gdk/win32/gdkselection-win32.c
* gdk/x11/gdkselection-x11.c: Change type of the requestor
window id parameter of gdk_selection_send_notify_for_display()
and gdk_selection_send_notify() from guint32 to
GdkNativeWindow.
* gdk/win32/gdkselection-win32.c: Add some guchar and char pointer
casts to get rid of gcc 4.4 warnings. Print GdkAtom values in
debugging output using the %p format.
svn path=/trunk/; revision=20991
2008-08-05 Tor Lillqvist <tml@novell.com>
Bug 544684 - Win64 issue, window handles are assumed to be 32-bit
* gdk/gdkdnd.h
* gdk/gdkdnd.c
* gdk/win32/gdkdnd-win32.c
* gdk/x11/gdkdnd-x11.c: Change return value and type of window id
from guint32 to GdkNativeWindow for
gdk_drag_get_protocol_for_display() and
gdk_drag_get_protocol(). This is not an API break on existing
platforms, as GdkNativeWindow has been guint32 for them
already.
svn path=/trunk/; revision=20988
2008-08-05 Tor Lillqvist <tml@novell.com>
* gdk/gdkrgb.c: Cast pointers to guintptr, not unsigned long,
before doing bit tests on them.
svn path=/trunk/; revision=20987
2008-08-05 Tor Lillqvist <tml@novell.com>
* configure.in: Define GDK_NATIVE_WINDOW_POINTER on 32-bit
Windows, too. It just makes more sense, as a HWND *is* a kind of
pointer.
* gdk/gdkconfig.h.win32: Ditto here.
svn path=/trunk/; revision=20986
2008-08-04 Michael Natterer <mitch@imendio.com>
* gdk/gdk.c (gdk_parse_args): call gdk_rgb_set_verbose(TRUE) if
"gdkrgb" is in the debug flags.
* gdk/gdkrgb.c (gdk_rgb_init): remove setting the verbose flag
here, this function is deprecated and the debug flag didn't work
when using GDK properly.
svn path=/trunk/; revision=20981
2008-08-04 Tor Lillqvist <tml@novell.com>
* configure.in: Set LIB_EXE_MACHINE_FLAG to either X86 or X64 on
Windows. AC_SUBST it.
* gdk/Makefile.am
* gtk/Makefile.am: Pass appropriate -machine flag to lib.exe.
svn path=/trunk/; revision=20957
2008-08-04 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkdisplay-win32.c: Don't bother looking up
EnumDisplayMonitors and GetMonitorInfoA dynamically, they are
present in NT-based Windows since Windows 2000.
(enum_monitor): For some reason the MONITORINFOEX struct in
mingw-win64 is different than the proper one as in MSDN and 32-bit
mingw, so just copy the proper definition here.
svn path=/trunk/; revision=20953
2008-08-01 Hans Breuer <hans@breuer.org>
* gdk/makefile.msc : build gdkwindowimpl
* gtk/gtkwidget.c : fix c99ism - declaration needs to be at the
start of a block
* tests/makefile.msc : update
svn path=/trunk/; revision=20926
2008-07-31 Cody Russell <bratsche@gnome.org>
Bug 56070 – Can't click button after setting it sensitive.
* gtk/gtkwidget.[ch]
* gtk/gtkwindow.c
* gtk/gtkmain.c
* gtk/gtkbutton.c
* gtk/gtkprivate.h
* gdk/gdkevents.h: Synthesize crossing events events where necessary.
* gtk/tests/crossingevents.c: Add unit tests for crossing events.
Big thanks to Ed Catmur, Matthias Clasen, and everyone else who
has worked on and helped out with this.
svn path=/trunk/; revision=20924
2008-07-24 Cody Russell <bratsche@gnome.org>
Bug 544510 – SetTimer callback signatures has the wrong type
* gdk/win32/gdkevents-win32.c: Fix modal_timer_proc() and
sync_timer_proc() to use UINT_PTR for the 'id' parameter
instead of 'id'. Patch by Richard Hult.
svn path=/trunk/; revision=20903
2008-07-23 Matthias Clasen <mclasen@redhat.com>
Bug 544265 – GDK assumes XFIXES extension
* gdk/x11/gdkcursor-x11.c (_gdk_x11_cursor_update_theme):
Only call XFixes functions if the server has the extension.
Reported by Ian Turner.
svn path=/trunk/; revision=20901
2008-07-22 Sven Herzberg <sven@imendio.com>
Fix svn:ignore and the include condition
* gdk/tests/check-gdk-cairo.c: ifndef => ifdef
svn path=/trunk/; revision=20896
2008-07-22 Sven Herzberg <sven@imendio.com>
Add a test for my fixes from July 20th.
* configure.in: create gdk/tests/Makefile
* gdk/Makefile.am: include the tests subfolder
* gdk/tests/Makefile.am: create and run my test
* gdk/tests/check-gdk-cairo.c (test), (main): the test that I wrote
(passes at least for x11 and quartz backends)
svn path=/trunk/; revision=20894
2008-07-22 Frederic Crozat <fcrozat@mandriva.com>
* gdk/x11/gdkscreen-x11.c: Don't use RandR 1.2
if driver is detected as randr12_compat (ie X driver
is not RandR 1.2 compliant). Fixes multihead with
such drivers. Bug #543317.
svn path=/trunk/; revision=20893
2008-07-21 Cody Russell <bratsche@gnome.org>
Bug 153567 – Repaint glitches in widgets
* gdk/win32/gdkevents-win32.c: Set a sync timer when
we receive WM_SYNCPAINT, and RedrawWindow() once
the timer expires.
svn path=/trunk/; revision=20881
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 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-07 Cody Russell <bratsche@gnome.org>
Bug 541964 – [Win32] Setting modal hint to current value might confuse the stack
* gdk/win32/gdkwindow-win32.c: Check if the value is the same as the
existing modal hint value before setting it.
svn path=/trunk/; revision=20809
* gdk/gdkcairo.c (gdk_cairo_create): Add a note that cairo
contexts cannot be cached for handling expose events.
Proposed by Behdad Esfahbod.
svn path=/trunk/; revision=20800
2008-07-04 Tor Lillqvist <tml@novell.com>
Bug 540861 - invalid UTF-8 in input device name
* gdk/win32/gdkinput-win32.c: Fetch the device and cursor names in
Unicode, and convert to UTF-8 for the GdkDevice's name field.
svn path=/trunk/; revision=20750
2008-07-02 Cody Russell <bratsche@gnome.org>
Bug 541305 – [Win32] Scrolling was broken after GdkWindow refactoring
* gdk/win32/gdkwindow-win32.c: Reverted some logic so that scrolling
works again.
* gdk/win32/gdkgeometry-win32.c: Removed some more unnecessary checks.
* gdk/win32/gdkkeys-win32.c: Removed unused variable to fix compile-time
warnings.
svn path=/trunk/; revision=20737
2008-07-02 Cody Russell <bratsche@gnome.org>
Bug 541162 – [Win32] Update for the new GdkWindowImpl stuff
* gdk/win32/gdkprivate-win32.h:
* gdk/win32/gdkgeometry-win32.c:
* gdk/win32/gdkevents-win32.c:
* gdk/win32/gdkwindow-win32.c: Update Win32 backend according to
the newly refactored GdkWindow code.
svn path=/trunk/; revision=20729
2008-07-01 Cody Russell <bratsche@gnome.org>
Bug 539164 – Windows' System Menu blocks main loop
* gdk/win32/gdkevents-win32.c: Use a modal timer proc in between
receiving WM_ENTERMENULOOP and WM_EXITMENULOOP and pump the
GLib mainloop from there.
svn path=/trunk/; revision=20726
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-06-30 Cody Russell <bratsche@gnome.org>
* Practically everything changed.
Change all references of GIMP Toolkit (and variations of it)
to GTK+ Toolkit, showing no mercy at all to our beloved
ancestry. (#540529)
svn path=/trunk/; revision=20709
2008-06-30 Michael Natterer <mitch@imendio.com>
Some unrelated cleanups found while reviewing
the offscreen window patch:
* gdk/gdkwindow.c: add missing Since: 2.14 to the redirection
functions, fix some function header indentation, update
documentation of redirect_to_drawable().
* gdk/x11/gdkwindow-x11.c
* gdk/x11/gdkpixmap-x11.c: fix function header
formatting/indentation.
* gtk/gtkwidget.c: use I_() on "damage_event".
svn path=/trunk/; revision=20708
2008-06-27 Emmanuele Bassi <ebassi@gnome.org>
Abstract some GdkWindow API into an interface that the backends
must implement. (based on a patch by Alex Larsson)
* gdk/Makefile.am: Add gdkwindowimpl.[ch]
* gdk/gdk.symbols: Move symbols around.
* gdk/gdkinternals.h:
* gdk/gdkwindowimpl.[ch]: Move some of the GdkWindow API we require
from the backends to a GInterface that the backends should implement
instead.
* gdk/gdkwindow.c: Provide some of the GdkWindow public API as a
wrapper call around the GdkWindowImpl interface vtable.
* gdk/x11/gdkevents-x11.c:
* gdk/x11/gdkgeometry-x11.c:
* gdk/x11/gdkprivate-x11.h:
* gdk/x11/gdkwindow-x11.c:
* gdk/x11/gdkwindow-x11.h: Update the X11 backend to implement
the GdkWindowImpl interface.
svn path=/trunk/; revision=20695
2008-06-23 Kristian Rietveld <kris@imendio.com>
* gdk/gdkenumtypes.h.template:
* gdk-pixbuf/gdk-pixbuf-enum-types.h.template:
* gtk/gtktypebuiltins.h.template:
* perf/typebuiltins.h.template: do not hard code the prefix of the
enum, use @ENUMPREFIX@ instead (you need an up to date glib for this).
svn path=/trunk/; revision=20674
2008-06-20 Hans Breuer <hans@breuer.org>
* gtk/gtkmenuitem.c gtk/gtkmessagedialog.c gtk/gtkplug.c : must return
a value of the appropriate type with g_return_val_if_fail
* gdk/gdkconfig.h.win32 : add the GSEAL definition here as well
* gtk/gtkfilesystem.c : don't add the "File System" on win32
* tests/makefile.msc : remove broken autotestfile(system|chooser)
from build
svn path=/trunk/; revision=20657
* gdk/x11/gdkkeys-x11.c (_gdk_keymap_key_is_modifier): Protect
against XKB being stupid. Reported by Pedro Villavicencio.
svn path=/trunk/; revision=20413
2008-06-14 Cody Russell <bratsche@gnome.org>
* gdk/win32/gdkselection-win32.c (gdk_win32_selection_add_targets):
Initialize hwnd to NULL. This fixes OpenClipboard() failure and,
according to MSDN docs, associates the open clipboard with the
current task. (#378158, reported by Andreas Köhler)
svn path=/trunk/; revision=20388
2008-05-23 Hans Breuer <hans@breuer.org>
* gtk/gtkprintoperation.c : check surface status after ceating a pdf.
Avoids crashing when the target can not be written, bug #537685
* gdk/win32/gdkdisplay-win32.c : runtime linking of ProcessIdToSessionId
* gtk/gtkfilesystem.c : variadic macros are not supported with c89 and
it was not needed here anyway.
svn path=/trunk/; revision=20370
2008-06-11 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkdisplay-win32.c (gdk_display_get_name): As we don't
support Win9x anyway, we can use ProcessIdToSessionId()
unconditionally.
svn path=/trunk/; revision=20353
2008-05-30 Michael Natterer <mitch@imendio.com>
* gdk/gdkapplaunchcontext.h
* gdk/gdktestutils.h
* gtk/gtkmountoperation.h
* gtk/gtkshow.h
* gtk/gtktestutils.h
* gtk/gtktoolshell.h: no need to allow disabling single includes
conditionally in these new files. Simply forbid including them
individually from the beginning.
svn path=/trunk/; revision=20256
2008-05-30 Tor Lillqvist <tml@novell.com>
Bug 533108 - leak of GDI region in function 'handle_wm_paint'
* gdk/win32/gdkevents-win32.c (handle_wm_paint): Patch by Daniel
Atallah.
svn path=/trunk/; revision=20250
2008-05-28 Michael Natterer <mitch@imendio.com>
* gdk/gdk.h: define __GDK_H_INSIDE__ around including all other
headers.
* gdk/gdkenumtypes.h.template
* gdk/gdk*.h: add single-include guards that #error out if
GTK_DISABLE_SINGLE_INCLUDES is defined and any of these files is
included individually. Also removed some redundant includes and
did some tiny trailing whitespace removal that's not worth to
commit separately.
* gdk/gdkprivate.h: include <gdk/gdk.h> instead of individual
files.
* gdk/win32/gdkwin32.h
* gdk/x11/gdkx.h: only include <gdk/gdkprivate.h> and remove all
other includes.
svn path=/trunk/; revision=20217
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-25 Cody Russell <bratsche@gnome.org>
Bug 526635 - _gdk_window_get_toplevel handles FOREIGN windows
* gdk/x11/gdkwindow-x11.c (_gdk_window_get_toplevel): Check
!WINDOW_IS_TOPLEVEL instead of checking for GDK_WINDOW_CHILD,
so that we also take into account for foreign windows.
Report and patch by Nathaniel Smith.
svn path=/trunk/; revision=20166
2008-05-25 Cody Russell <bratsche@gnome.org>
Bug 525461 - Don't invalidate under an input-only child
* gdk/x11/gdkgeometry-x11.c (_gdk_window_move_resize_child):
Check that the window is not input-only before invalidating.
Report and patch by Owen Taylor.
svn path=/trunk/; revision=20165
2008-05-25 Cody Russell <bratsche@gnome.org>
Bug 524110 - Gdk should not assume reparenting WMs when retrieving
window frame extents
* gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents):
Use _NET_FRAME_EXTENTS, if available. Patch by Danny Baumann.
svn path=/trunk/; revision=20164
2008-05-25 Cody Russell <bratsche@gnome.org>
Bug 522269 - Evince windows sometimes incorrectly unmaximized,
caused by missing flag initialization
* gdk/x11/gdkwindow-x11.c (set_initial_hints): Initialize
top-level private flags correctly. Patch by Danny Baumann.
svn path=/trunk/; revision=20163
2008-05-24 Björn Lindqvist <bjourne@gmail.com>
* gdk/gdkcolor.c (gdk_color_parse): Update docstring to match
pango_color_parse, do not reference XParseColor forms (#434991).
svn path=/trunk/; revision=20135
2008-05-23 Tor Lillqvist <tml@novell.com>
* gdk/gdk.symbols: Add gdk_window_redirect_to_drawable and
gdk_window_remove_redirection.
* gdk/win32/gdkwindow-win32.c (_gdk_window_new)
(_gdk_window_reparent): Rename to adapt to the offscreen rendering
changes. Remove now unnecessary parameter checks as the caller
does that already.
* gtk/gtk.symbols: Add gtk_widget_get_snapshot.
svn path=/trunk/; revision=20130
2008-03-18 10:49:20 Tim Janik <timj@imendio.com>
* Applied pixmap redirection patch by Alexander Larsson with
various updates from:
Bug 318807 – Offscreen windows and window redirection.
Updates:
* updated docs to mention "Since 2.16".
* tests/testgtk.c: fixed snapshooting pixmap leak.
convert pixmap to pixbuf after snapshooting, to compensate for different
bit depths (occurs when snapshooting ARGB visuals and displaying the
pixmap in an RGB visual).
* gdk/gdkwindow.[hc]: made GdkWindowRedirect private.
* gdk/gdkwindow.c: removed damage idle handler, there's no aparent
need for it. enqueue damage notification as GDK_DAMAGE events
for each painting redirection at the start of the event queue.
consider windows with a redirection fully visible when invalidating,
and when updating from backing store. cleaned up stale variables.
* gdk/gdkevents.c: added _gdk_event_queue_prepend().
* gtk/gtkwidget.c: fixed coordinates for !NO_WINDOW widgets in
gtk_widget_get_snapshot; this fixes garbage snap offsets for gammacurve,
tree, drawingarea, text, handlebox, etc.
clip the redirected window hierarchy to window sizes, the visible
rectangles don't need to be taken into account here.
extended snapshooting docs to recommend gdk_pixbuf_get_from_drawable()
in case pixmap visuals could mismatch.
* gdk/x11/gdkwindow-x11.c: removed _gdk_windowing_window_get_visible_rect().
Base patch:
* tests/testgtk.c: add a "Snapshot" test to demonstrate snapshooting
of possibly obscured widgets into an offscreen pixmap.
* gtk/gtkwidget.[hc]: add GtkWidget::damage-event signal, add
gtk_widget_get_snapshot() to render a widget's contents to a GdkPixmap.
* gtk/gtkmain.c: dispatch GDK_DAMAGE events.
* gdk/gdkwindow.c: moved outer gdk_window_new() and gdk_window_reparent()
implementations here, adapted them to propagate redirects to child windows.
gdk_window_end_paint(): copy repainted window contents to redirection pixmap,
clipped to visible region. queue GDK_DAMAGE event delivery.
gdk_window_redirect_to_drawable(): install window painting redirection.
gdk_window_remove_redirection(): remove previously installed redirection.
* gdk/x11/gdkwindow-x11.c: added _gdk_windowing_window_get_visible_rect(),
renamed _gdk_window_new() and _gdk_window_reparent().
* gdk/gdkwindow.h: added GdkWindowRedirect* to GdkWindowObject, export
gdk_window_redirect_to_drawable() and gdk_window_remove_redirection().
* gdk/gdkevents.h: added GDK_DAMAGE event type.
* gdk/gdkevents.c: extract time and state from GDK_DAMAGE events.
* gdk/gdkinternals.h: added internal prototypes.
svn path=/trunk/; revision=20122
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-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-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-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 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-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-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-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-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-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-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-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-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 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-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-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-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 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 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-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-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-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 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-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-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 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 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-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-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 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-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 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 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-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-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-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 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 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-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-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 Richard Hult <richard@imendio.com>
* gdk/quartz/GdkQuartzView.c: Another attempt at fixing focus
issues with undecorated windows. Revert the change done on
2008-01-25 and fix it by using the view's bounds instead. The
bounds will always be up to date when setting up the tracking
rect, so this should be more robust.
svn path=/trunk/; revision=19445
2008-01-25 Richard Hult <richard@imendio.com>
* gdk/quartz/GdkQuartzView.c: Don't recreate a tracking rect if it
didn't change, fixes focus event issues for undecorated windows.
svn path=/trunk/; revision=19402
2008-01-15 Michael Natterer <mitch@imendio.com>
* gdk/gdkdisplay.h
* gdk/gdkdrawable.h
* gdk/gdkevents.h
* gdk/gdkpango.h
* gdk/gdkregion.h
* gdk/gdkrgb.h
* gdk/gdkwindow.h: made more struct pointer and array parameters
const. GDK should now be constified as far as possible without
breaking source compatibility. Includes some minor cleanup like
indentation and s/nfoo/n_foo/ (bug #508544).
* gdk/gdkdisplay.c
* gdk/gdkdraw.c
* gdk/gdkevents.c
* gdk/gdkpango.c
* gdk/gdkregion-generic.c
* gdk/gdkrgb.c
* gdk/directfb/gdkdisplay-directfb.c
* gdk/directfb/gdkwindow-directfb.c
* gdk/quartz/gdkdisplay-quartz.c
* gdk/quartz/gdkwindow-quartz.c
* gdk/win32/gdkdisplay-win32.c
* gdk/win32/gdkwindow-win32.c
* gdk/x11/gdkdisplay-x11.c
* gdk/x11/gdkwindow-x11.c: changed accordingly.
svn path=/trunk/; revision=19372
2008-01-14 Michael Natterer <mitch@imendio.com>
* gdk/gdkscreen.c (gdk_screen_get_property): cast the return value
of gdk_screen_get_font_options() to gpointer to get rid of const
warning.
svn path=/trunk/; revision=19370
2008-01-10 Michael Natterer <mitch@imendio.com>
* gdk/directfb/gdkscreen-directfb.c
(gdk_screen_get_monitor_width_mm)
(gdk_screen_get_monitor_height_mm)
(gdk_screen_get_monitor_plug_name): add these functions to make
it build again.
svn path=/trunk/; revision=19340
2008-01-04 Michael Natterer <mitch@imendio.com>
* gdk/x11/gdkinput-x11.c (_gdk_device_get_history): don't forget
to set the time in the returned GdkTimeCoords.
svn path=/trunk/; revision=19304
2007-12-27 Christian Persch <chpe@gnome.org>
* gdk/x11/gdkscreen-x11.c: (init_randr12): Fir the patch from
bug #504886 not to read unitialised memory.
svn path=/trunk/; revision=19247
2007-12-23 Cody Russell <bratsche@gnome.org>
* gdk/win32/gdkevents-win32.c (show_window_recurse): Check that
the window is mapped before setting SW_RESTORE or SW_MINIMIZE.
Fixes a regression caused by #164537 patch where transient
windows that are hidden get shown (incorrectly) when their
parents are minimized. (#504984)
svn path=/trunk/; revision=19231
2007-12-20 Richard Hult <richard@imendio.com>
* gdk/quartz/GdkQuartzWindow.c:
* gdk/quartz/GdkQuartzWindow.h: Make manual resizing smoother by
processing events after changing the size.
svn path=/trunk/; revision=19206
2007-12-17 Matthias Clasen <mclasen@redhat.com>
* gtk/gtksettings.c: Add a gtk-im-module GTK setting
* gdk/win32/gdkproperty-win32.c:
* gdk/x11/gdksettings.c: ...and back it by a Gtk/IMModule X setting.
* gtk/gtkimmodule.[hc]:
* gtk/gtkimmulticontext.[hc]: When determining the default context,
look at the gtk-im-module setting, and listen for changes to the
setting. (#502446, Akira Tagoh)
svn path=/trunk/; revision=19195
* gdk/directfb/gdkcursor-directfb.c: (gdk_cursor_new_for_display):
Use u32 instead of __u32 and u8 instead of __u8 as the other types
are deprecated since DirectFB 1.0.0. If compiling with an older
version define the new type name to the old types. Fixes bug #503190.
svn path=/trunk/; revision=19182
Thu Dec 13 13:14:50 2007 Søren Sandmann <sandmann@redhat.com>
* Add RandR 1.2 support
- New monitors_changed signal - New API to get width/height of
monitors, and the name of the plug
svn path=/trunk/; revision=19173
2007-12-11 Attilio Fiandrotti <attilio.fiandrotti@gmail.com>
* gdk/directfb/gdktestutils-directfb.c:
* gdk/directfb/Makefile.am: Applied a patch by Claudio Ciccani
which adds testing functions to the DirectFB backend.
svn path=/trunk/; revision=19163
2007-12-11 Attilio Fiandrotti <attilio.fiandrotti@gmail.com>
* gdk/directfb/gdkdrawable-directfb.c: Applied a patch by Claudio
Ciccani which fixes the mixing of gdk and cairo rendering.
svn path=/trunk/; revision=19161
2007-12-10 Richard Hult <richard@imendio.com>
* gdk/quartz/Makefile.am:
* gdk/quartz/gdkquartz.h:
* gdk/quartz/gdkwindow-quartz.c: Install backend specific
header (bug #405915). Also add a getter for the toplevel nswindow.
svn path=/trunk/; revision=19151
2007-12-10 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkdrawable-quartz.c:
(gdk_quartz_drawable_get_context),
(gdk_quartz_drawable_release_context):
* gdk/quartz/gdkeventloop-quartz.c: (gdk_event_prepare),
(gdk_event_check), (gdk_event_dispatch), (poll_func):
* gdk/quartz/gdkwindow-quartz.h: Replace the autorelease pools
used for each drawing context and in prepare, dispatch and poll
with one that exists across each main loop iteration. Fixes leaks
on leopard and protects against future leaks introduce when the
underlying system changes again (bug #492977).
svn path=/trunk/; revision=19149
2007-12-10 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkwindow-quartz.c: (move_resize_window_internal):
Fix the check for no changes to position and size.
svn path=/trunk/; revision=19147
2007-12-10 Richard Hult <richard@imendio.com>
* gdk/quartz/GdkQuartzView.c: Ignore drawRect calls with zero
sized areas at (0, 0), patch from Paul Davis.
svn path=/trunk/; revision=19145
2007-12-10 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkprivate-quartz.h:
* gdk/quartz/gdkeventloop-quartz.c:
(_gdk_quartz_event_loop_get_pending),
(_gdk_quartz_event_loop_check_pending),
(_gdk_quartz_event_loop_release_event), (gdk_event_prepare),
(gdk_event_check), (gdk_event_dispatch):
* gdk/quartz/gdkevents-quartz.c: (gdk_events_pending)
(_gdk_events_queue): Fix a bug where we could end up trying to
handle the same event more than once. Based on patch from Paul
Davis.
svn path=/trunk/; revision=19143
2007-12-03 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkwindow-quartz.c:
(gdk_window_impl_quartz_begin_paint_region): Don't crash when a
parent relative bg pixmap is set, and no parent has a bg
pixmap. Fixes bug #500804.
svn path=/trunk/; revision=19100
2007-11-26 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkwindow-win32.c (gdk_window_fullscreen): Use the
monitor the window currently is on, not always the primary
monitor. (#463865, Tim Evans)
svn path=/trunk/; revision=19047
2007-11-21 Richard Hult <richard@imendio.com>
* gdk/quartz/Makefile.am: * gdk/quartz/gdktestutils-quartz.c: Add
stubs for the testing functions to fix the build.
svn path=/trunk/; revision=19023
2007-11-12 Sven Herzberg <herzi@imendio.com>
Reviewed by Richard:
* gdk/quartz/gdkquartz.h: include <gdk/gdkprivate.h> with angle
brackets and not with quotation marks
svn path=/trunk/; revision=18987
2007-11-12 Alexander Larsson <alexl@redhat.com>
* gdk/x11/gdkselection-x11.c:
Avoid loading the ISO8859-1 iconv module.
We're already doing all the required work anyway.
This saves 4kb private dirty memory per gtk+ process
svn path=/trunk/; revision=18986
2007-11-09 Kristian Rietveld <kris@imendio.com>
* gdk/gdkwindow.c (gdk_window_process_all_updates): guard for
windows with GDK_WINDOW_DESTROYED set. (Fixes#482531, reported
by Sebastien Bacher).
svn path=/trunk/; revision=18975
2007-11-04 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkkeys-quartz.c: (maybe_update_keymap): Make shift
tab work with unicode layouts (e.g. all Leopard layouts), fixes
bug #493404.
svn path=/trunk/; revision=18967
2007-11-03 Richard Hult <richard@imendio.com>
* gdk/quartz/GdkQuartzWindow.c:
* gdk/quartz/GdkQuartzWindow.h: Make the grab breaking on window
move work on Leopard (as well as Tiger) by ignoring which mouse
button is pressed.
svn path=/trunk/; revision=18964
2007-11-01 Richard Hult <richard@imendio.com>
* gdk/quartz/GdkQuartzWindow.c:
* gdk/quartz/GdkQuartzWindow.h:
* gdk/quartz/gdkdnd-quartz.c:
* gdk/quartz/gdkquartz.h:
* gtk/gtkdnd-quartz.c: Redo the fix for bug #492117, by adding a
getter for the private drag context info so we don't need to
expose so much in the public quartz header file.
svn path=/trunk/; revision=18959
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-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-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-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-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-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 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 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-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-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-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-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-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 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 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
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-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-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-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-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-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-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-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-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-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-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-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-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-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 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 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-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 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 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 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 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkwindow-quartz.c: (gdk_window_get_origin): Make
this work properly for the root window.
svn path=/trunk/; revision=18311
2007-06-30 Richard Hult <richard@imendio.com>
* gdk/quartz/GdkQuartzView.c: Improve the tracking rect updating:
- No need to override setFrame.
- Use our own size instead of the bounds from for the view as it's
not always updated before the tracking rect.
- Only reset the tracking rect if the new window is nil).
* gdk/quartz/GdkQuartzWindow.c: Update the bounds of the content
view when the window size changes.
svn path=/trunk/; revision=18309
2007-06-29 Matthias Clasen <mclasen@redhat.com>
* gdk/gdk.symbols:
* gdk/gdkkeys.h:
* gdk/x11/gdkkeys-x11.c (gdk_keymap_have_bidi_layouts): New
function to determine if keyboard layouts for both LTR and LTR
languages are in use. Refactor the direction caching code to
make this information available. (#451575, Behnam Esfahbod)
svn path=/trunk/; revision=18301
2007-06-29 Ryan Lortie <desrt@desrt.ca>
* tests/testgtk.c (create_composited_window): Connect the "destroy"
signal so that the 'window' pointer is set back to NULL (like for the
other examples).
* gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_finalize): Don't
destroy the Damage here. By finalize() XDestroyWindow has already
been called (and took the Damage with it).
Bug #452046.
svn path=/trunk/; revision=18290
2007-06-25 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkevents-quartz.c (gdk_event_translate): Don't steal
menu events while the keyboard is grabbed.
svn path=/trunk/; revision=18231
2007-06-25 Richard Hult <richard@imendio.com>
* gdk/quartz/Makefile.am:
* gdk/quartz/xcursors.h:
* gdk/quartz/gdkcursor-quartz.c: Fallback to X cursors for the
ones that OS X doesn't provide. Fixes bug #327912.
svn path=/trunk/; revision=18229
2007-06-25 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkevents-win32.c (gdk_pointer_grab): Revert my
attempted overly simple fix for #445284, as it causes a
regression. (For instance, in GIMP the tool cursor gets used also
for the right-click menu in image windows.) A more complex fix is
needed to more completely emulate X11 behaviour.
svn path=/trunk/; revision=18225
Fri Jun 22 00:34:34 2007 Tim Janik <timj@gtk.org>
* gdk/x11/gdkdisplay-x11.c (gdk_x11_display_get_xdisplay): applied
patch from Mark Tiefenbruck to add missing return_if_fail, #449862.
svn path=/trunk/; revision=18215
2007-06-20 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkwindow-quartz.c (gdk_window_new):
* gdk/quartz/GdkQuartzWindow.c (windowDidResize): Don't create or
update the tracking rect in the window, move it to the view where
it belongs.
* gdk/quartz/GdkQuartzView.c (updateTrackingRect)
(viewDidMoveToWindow, viewWillMoveToWindow)
(setFrame, setBounds): Create and update the tracking rect here.
svn path=/trunk/; revision=18197
2007-06-19 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* gdk/gdkinternals.h: Restore G_BEGIN_DECLS at the
top of this file to make C++ compilers happy.
svn path=/trunk/; revision=18196
2007-06-17 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkevents-quartz.c (gdk_event_translate): Forward
Mac OS menu shortcut events to the right menu.
svn path=/trunk/; revision=18178
2007-06-17 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkevents-quartz.c (gdk_event_translate)
(synthesize_crossing_events_for_ns_event)
(find_window_for_ns_event): More refactoring of the event
handling: Extract synthesizing of crossing events from
find_window_for_ns_event so that it doesn't have any side effects,
and call the new function from gdk_event_translate instead.
svn path=/trunk/; revision=18176
2007-06-16 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkevents-quartz.c: (find_window_for_ns_event),
(gdk_event_translate): Remove pointless logging for unhandled events.
Activate the application on non-left clicks, since that is only done
for left clicks and we depend on it to get events routed properly for
context menus and other popup windows.
svn path=/trunk/; revision=18175
2007-06-17 Xan Lopez <xan@gnome.org>
* gdk/x11/gdkgeometry-x11.c: replace GDK_WINDOW calls by cast to
GdkWindow. Patch by Tilman Sauerbeck from #2063820.
svn path=/trunk/; revision=18170
2007-06-16 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkevents-quartz.c: (gdk_event_translate): Ignore
events and break any grabs while the window is being dragged.
svn path=/trunk/; revision=18165
2007-06-16 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkwindow-quartz.c: (gdk_window_set_transient_for):
Defer setting the parent until the window is shown, otherwise it
gets unconditionally shown here.
svn path=/trunk/; revision=18164
2007-06-16 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkevents-quartz.c (find_mouse_window_for_ns_event):
Move the checks for no window or a non-GDK window from here...
(gdk_event_translate): ...to here. Reorder the code so that we
detect the cases where we need to break grabs before bailing
out.
svn path=/trunk/; revision=18161
2007-06-16 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkevents-quartz.c (gdk_event_translate)
(break_all_grabs): Break out into a separate function.
svn path=/trunk/; revision=18160
2007-06-16 Richard Hult <richard@imendio.com>
* gdk/quartz/GdkQuartzWindow.c: (isInMove): Implement, to be used
to detect if the window is currently being moved with the mouse.
svn path=/trunk/; revision=18159
2007-06-16 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkwindow-quartz.c (gdk_window_set_transient_for):
Don't set parent/child relationship for tooltip windows since that
moves the parent window to the front, due to the tooltip having a
high window level.
svn path=/trunk/; revision=18158
2007-06-15 Hans Breuer <hans@breuer.org>
* gtk/makefile.msc.in tests/makefile.msc : updated
* gdk/win32/gdkwindow-win32.c : explicit usage of RegisterClassExW
to match the WNDCLASSEXW.
True dynamic linking of SetLayeredWindowAttributes
* tests/testprint.c tests/testnouiprint.c : use G_PI
svn path=/trunk/; revision=18140
2007-06-14 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkwindow-win32.c (RegisterGdkClass): Use
g_win32_get_windows_version() instead of _winver so that this
compiles on Cygwin, too. Not that I know if it makes sense to
build GTK+ with the Win32 backend for Cygwin, but some people want
to.
svn path=/trunk/; revision=18132
2007-06-10 Michael Natterer <mitch@imendio.com>
* gdk/quartz/gdkdrawable-quartz.c (gdk_quartz_draw_arc): fix
angles by flipping the coordinate system back to its original y
direction. The implementtion is still broken for ellipses, will
have to simulate them using bezier curves.
svn path=/trunk/; revision=18095
2007-06-10 Cody Russell <bratsche@gnome.org>
* gdk/win32/gdkevents-win32.c (gdk_pointer_grab):
Don't revert the mouse cursor to the built-in one when
the user holds the mouse button down. (#445284, Tor Lillqvist)
svn path=/trunk/; revision=18093
2007-06-08 Michael Natterer <mitch@imendio.com>
* gdk/quartz/gdkdrawable-quartz.c: add utility function
gdk_quartz_fix_cap_not_last_line() which fixes the coordinates for
GDK_CAP_NOT_LAST lines at least for horizontal and vertical lines.
(gdk_quartz_draw_segments)
(gdk_quartz_draw_lines): use it here.
svn path=/trunk/; revision=18080
2007-06-07 Michael Natterer <mitch@imendio.com>
* gdk/quartz/gdkgc-quartz.c: add gdk_gc_quartz_init() and set
some values to the defaults used by X11.
(gdk_quartz_gc_set_values): really set cap_style when
GDK_GC_CAP_STYLE is in the mask, not line_style.
svn path=/trunk/; revision=18079
2007-06-07 Michael Natterer <mitch@imendio.com>
* gdk/quartz/gdkgc-quartz.c (_gdk_quartz_gc_update_cg_context):
use the same code for GDK_XOR as for GDK_INVERT. Xor with an
arbitrary color is impossible to implement with quartz.
svn path=/trunk/; revision=18077
2007-06-06 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkevents-quartz.c (find_mouse_window_for_ns_event)
(find_window_for_ns_event): Rework how we get the event window:
don't get the window from the NSEvent, always use the mouse window
instead. Fix mouse window tracking by only using MouseExited for
non-gdk windows, and to always use the NSEvent window to get the
right gdk window in MouseEntered. Add comments to the code. Fixes bug
#350460.
svn path=/trunk/; revision=18065
2007-06-06 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkevents-quartz.c (get_converted_window_coordinates):
Don't do anything if the two windows are the same.
(find_window_for_ns_event): Translate coordinates to be relative
the grab window when appropriate.
svn path=/trunk/; revision=18064
2007-06-06 Ross Burton <ross@openedhand.com>
* gdk/x11/gdkspawn-x11.c:
Set DISPLAY in the child process using g_setenv() instead of
constructing a new envp, which lets callers use child setup
functions which call putenv (#442617).
svn path=/trunk/; revision=18062
2007-06-06 Brian Cameron <brian.cameron@sun.com>
* gdk/Makefile.am: Add gdkmedialib.h to EXTRA_DIST so this header
file gets included with the distribution, as needed. Fixes bug
#442888. Reviewed by Matthias Clasen.
svn path=/trunk/; revision=18050
2007-06-06 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkevents-quartz.c
(_gdk_quartz_events_update_mouse_window): Ignore if the old and new
windows are the same.
svn path=/trunk/; revision=18049
2007-06-06 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkevents-quartz.c (synthesize_crossing_events):
Update comment to be more clear and print a warning if we try to
create a crossing event without knowing what the current mouse
window is, to help track down focus bugs.
* gdk/quartz/gdkevents-quartz.c
(_gdk_quartz_events_update_focus_window): Fix indentation.
svn path=/trunk/; revision=18047
2007-06-05 Richard Hult <richard@imendio.com>
* gdk/quartz/GdkQuartzWindow.c: Don't let temp windows become key
window.
svn path=/trunk/; revision=18046
2007-06-05 Matthias Clasen <mclasen@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Check that
window_private is not NULL before using it. (#444351, David Ronis)
svn path=/trunk/; revision=18043
2007-06-04 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkwindow-quartz.c:
(show_window_internal): Don't try to make temp windows key
windows, fixes problem introduced below.
svn path=/trunk/; revision=18040
2007-06-03 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkevents-quartz.c: (create_crossing_event): Set the key
modifier state.
svn path=/trunk/; revision=18017
2007-06-03 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkevents-quartz.c: Make pointer grab emulation work a bit
better:
(gdk_display_pointer_is_grabbed): Do what the docs say and don't
consider implicit grabs here.
(gdk_pointer_grab): Overriding a grab by the same app should always be
succesful.
(gdk_event_translate): Implicit grabs should not be owner events.
svn path=/trunk/; revision=18016
2007-06-01 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkevents-quartz.c:
(get_converted_window_coordinates), (create_crossing_event): Fix the
coordinates in crossing events so they are relative to the right
window.
svn path=/trunk/; revision=18007
2007-06-01 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkevents-quartz.[ch]: Make function naming
consistent for the various functions that retrieve data from an
event.
* gdk/quartz/gdkprivate-quartz.h:
* gdk/quartz/gdkwindow-quartz.[ch]: Remove the now unused
_gdk_quartz_window_find_child_by_point() function.
svn path=/trunk/; revision=18006
2007-05-30 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkevents-win32.c (gdk_pointer_grab): Subtract the
multi-monitor offset from x and y before setting up the rectangle
for ClipCursor(). Fixes#442326.
svn path=/trunk/; revision=17988
2007-05-28 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkevents-quartz.c (get_child_coordinates_from_ancestor)
(get_ancestor_coordinates_from_child): Break out code that was
repeated into separate functions and call them instead.
(find_window_for_mouse_nsevent): Break out this from
find_window_for_nsevent to make the code clearer.
(find_window_for_nsevent): Use the above and fix the returned
coordinates in the process so that they are always relative the
found window, both for the normal case and during grabs. Still
needs fixing for the case where we get nsevents for a window other
than than grab window during grabs.
svn path=/trunk/; revision=17971