commit 4edbdeff64a685da60e0f03e8a15fad3825b0b7b Author: Alexander Larsson Date: Thu Nov 10 19:29:10 2011 +0100 Update NEWS for release NEWS | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 60 insertions(+), 0 deletions(-) commit 1b58117bbf9c7216df42f897a72e66638278803a Author: Dieter Verfaillie Date: Wed Nov 9 14:43:28 2011 +0100 win32: fix GDK_DEBUG="draw" crasher When running with GDK_DUBUG="draw", gdk_win32_draw_rectangle calls _gdk_win32_drawable_description, which calls gdk_drawable_get_size for a GdkWindowImplWin32. gdk_drawable_get_size then tries to call GDK_DRAWABLE_GET_CLASS (drawable)->get_size, which points to NULL for GdkWindowImplWin32. Adding the missing drawable_class->get_size implementation fixes this. gdk/win32/gdkwindow-win32.c | 24 ++++++++++++++++++++++++ 1 files changed, 24 insertions(+), 0 deletions(-) commit d8c2db333521063b6cce5355b749e40bd6c011f4 Author: Dieter Verfaillie Date: Tue Nov 8 10:11:11 2011 +0100 win32: plug leak when drawing handles The cairo context was always created but only ever used and destroyed(!) in the second if block (!GTK_IS_PANED (widget)) so moving around the gdk_cairo_create call would have been the obvious fix. However, said if block is not used at all, so clean up draw_handle instead. https://bugzilla.gnome.org/show_bug.cgi?id=663543 modules/engines/ms-windows/msw_style.c | 97 ++++++-------------------------- 1 files changed, 17 insertions(+), 80 deletions(-) commit 2ae574ab6dd1f9810c4667920f9984ed1e95d0f7 Author: Alexander Larsson Date: Wed Nov 9 13:25:02 2011 +0100 win32: Let cairo create DIBs for GdkPixmap The win32 code for GdkPixmap dib creation workes as such, but when creating a cairo surface for it with cairo_win32_surface_create from the HDC it fails for any bitmap format than RGB24, due to assumptions in cairo. In order to create a cairo surface for e.g. A1 formats we need to let cairo create the surface via cairo_win32_surface_create_with_dib. Additionally, we must then make sure to use this surface in gdk_drawable_ref_cairo_surface, and to not create a new HDC for it but reuse the cairo one (as only one HDC can write to a bitmap). Even with this fixed there are some issues with current cairo, as cairo A1 format isn't quite the same as win32 monochrome bitmaps. Fixes for cairo will be submitted. gdk/win32/gdkpixmap-win32.c | 166 +++++++++++------------------------------- 1 files changed, 44 insertions(+), 122 deletions(-) commit 36f2f822f2fdd789791a0248e33815366e325e1f Author: Alexander Larsson Date: Wed Nov 9 13:20:38 2011 +0100 win32: Make sure to set is_foreign for foreign pixmaps gdk/win32/gdkpixmap-win32.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit a9b127660b034bccabc3480c6193e87a90aa50b0 Author: Alexander Larsson Date: Wed Nov 9 13:20:14 2011 +0100 win32: Fix up error message gdk/win32/gdkdrawable-win32.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit b2f91bcb8fa5ecaa444d2137b222def31550871c Author: Alexander Larsson Date: Wed Nov 9 13:19:46 2011 +0100 win32: GDIFlush before accessing pixmap bits gdk/win32/gdkcursor-win32.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) commit 013c9169f6c7e524a529b1ec3b9e199e20a67a60 Author: Kristian Rietveld Date: Wed Nov 9 08:44:28 2011 +0100 Bug 661997 - Gtk crashes when changing the TreeView model while ... Simply stopping rubber banding in gtk_tree_view_set_model() eliminates the crash. Reported by Thomas Perl. (cherry picked from commit 91ae19768e715f71d7944fc000358dd6bdbe0ea3) gtk/gtktreeview.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) commit 3b5c5710daa337b61c9e2135e3e55c380e5bc991 Author: Michael Natterer Date: Wed Nov 9 00:34:45 2011 +0100 quartz: include all buttons' state in GdkEventMotion.state gdk/quartz/gdkevents-quartz.c | 19 ++----------------- 1 files changed, 2 insertions(+), 17 deletions(-) commit a381e8ea62441b6715ba9bcb0e04332fd914f8b1 Author: Michael Natterer Date: Wed Nov 9 00:25:01 2011 +0100 quartz: include all buttons' states in GdkEventButton.state gdk/quartz/gdkevents-quartz.c | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) commit d8cf87983e3f137c7a7861b344c46161d1b8a79e Author: Michael Natterer Date: Tue Nov 8 21:41:19 2011 +0100 Bug 663605 - Fix event->state of many event types on quartz Don't try to remember the current keyboard modifier and mouse button states from the last event, because that isn't always right, and don't set event.state = 0 for generated events. Instead, add private functions to get the current states, and implement them with API that retrieves these states independently from an event. gdk/quartz/gdkevents-quartz.c | 103 ++++++++++++++++++++++++++++----------- gdk/quartz/gdkprivate-quartz.h | 3 + 2 files changed, 77 insertions(+), 29 deletions(-) commit 7e1e5451d44c933669a75f74f48ab074e7cc6f85 Author: Matthias Clasen Date: Tue Nov 1 21:22:14 2011 -0400 Don't use deprecated Pango api gtk/gtkprintcontext.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit e4cee92e2285fb5f3713fa9023e7079187afe730 Author: Matthias Clasen Date: Tue Nov 1 21:13:35 2011 -0400 Don't use deprecated Pango api gdk/gdkpango.c | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) commit 5a03f4a6a50237d86959f596dda143dfc2f040d1 Author: Cosimo Cecchi Date: Mon Oct 31 20:33:41 2011 -0400 iconview: layout items immediately when setting a GtkTreeModel As the draw handler expects the items to be laid out already, we cannot queue a layout here to avoid a race condition with the resize that is queued immediately after, which in turn would lead to a segfault later in the paint_item() implementation. https://bugzilla.gnome.org/show_bug.cgi?id=663138 gtk/gtkiconview.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit b424735a39316e1c3000ae0aea3f85e2239f5d85 Author: Matthias Clasen Date: Wed Oct 26 21:51:36 2011 -0400 Print dialog: small keynav improvement Mark the page range entry and the copies spin button as activates-default. https://bugzilla.gnome.org/show_bug.cgi?id=662670 gtk/gtkprintunixdialog.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) commit 0f22ef3f31650a40686603a513e19eedcdee0f74 Author: Matthias Clasen Date: Tue Nov 8 12:36:23 2011 -0500 GtkSearchEngineTracker: port to tracker 0.12 We simply use the Tracker DBus api here, caching and direct access that come with libtracker-sparql are probably not needed here. Based on a patch by Martyn Russell. https://bugzilla.gnome.org/show_bug.cgi?id=658272 gtk/gtksearchenginetracker.c | 563 +++++++++++++++++++++--------------------- 1 files changed, 287 insertions(+), 276 deletions(-) commit 4a22e2ceab7e52e700bba4cb8e61ebfb508c05fb Author: Antoine Jacoutot Date: Tue Sep 20 11:57:49 2011 +0200 gtkmountoperation-x11: unbreak compilation on OpenBSD. Add missing header to prevent undeclared definitions. Bug #659565 gtk/gtkmountoperation-x11.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) commit 6a4a78d6a2e9f95d161ae3aeb0665adad9a8512a Author: Richard Hughes Date: Tue Sep 13 16:16:28 2011 +0100 Fix a segfault if the GAppInfo does not have an icon This fixes the following backtrace: 0 g_logv (log_domain=0x7ffff60461a4 "GLib-GObject", log_level=, format=0x7ffff599c322 "%s: assertion `%s' failed", args1=0x7fffffffc418) at gmessages.c:577 1 0x00007ffff59312d2 in g_log (log_domain=, log_level=, format=) at gmessages.c:591 2 0x00007ffff601c3c7 in g_object_ref (_object=0x0) at gobject.c:2648 3 0x00007ffff7721e22 in gdk_x11_app_launch_context_get_startup_notify_id (context=, info=0x7fffe8004b40, files=) at gdkapplaunchcontext-x11.c:331 4 0x00007ffff62e60d0 in _g_desktop_app_info_launch_uris_internal (appinfo=0x7fffe8004b40, uris=0x0, launch_context=0x7fffe401c800, spawn_flags=G_SPAWN_SEARCH_PATH, user_setup=0, user_setup_data=0x0, pid_callback=0, pid_callback_data=0x0, error=0x7fffffffc848) at gdesktopappinfo.c:1269 5 0x00007ffff62e630a in g_desktop_app_info_launch_uris (appinfo=, uris=, launch_context=, error=) at gdesktopappinfo.c:1341 6 0x00007ffff62e636b in g_desktop_app_info_launch (appinfo=0x7fffe8004b40, files=, launch_context=0x7fffe401c800, error=0x7fffffffc848) at gdesktopappinfo.c:1388 gdk/x11/gdkapplaunchcontext-x11.c | 12 +++++++----- 1 files changed, 7 insertions(+), 5 deletions(-) commit 278325f611020cba8347d0f2e169630eef3aedb5 Author: Chun-wei Fan Date: Tue Nov 8 12:37:15 2011 +0800 msw_style.c: Use G_PI rather than M_PI M_PI is not universally available... modules/engines/ms-windows/msw_style.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 7e8d3aa812056f4048c441df277651490d35c315 Author: Chun-wei Fan Date: Tue Nov 8 11:09:56 2011 +0800 Update GTK+ DLL Visual C++ projects Include the MS-Windows themes engine into the main GTK+ DLL in the build build/win32/vs10/gtk.vcxproj.filtersin | 4 ++++ build/win32/vs10/gtk.vcxprojin | 4 ++++ build/win32/vs9/gtk.vcprojin | 4 ++++ 3 files changed, 12 insertions(+), 0 deletions(-) commit fadc82ad2647277628fd140514b54473dbeb2f4c Author: John Ralls Date: Mon Nov 7 13:04:59 2011 -0800 [Quartz Bug 663182] NSImage throws an exception from _gtk_quartz_create_image_from_pixbuf() If _gtk_quartz_create_image_from_pixbuf is given a pixbuf with size 0, 0 or which produces an NSImage with size 0.0, 0.0, it throws an exception which Gtk doesn't handle. gtk/gtkdnd-quartz.c | 5 +++++ gtk/gtkquartz.c | 8 ++++++++ 2 files changed, 13 insertions(+), 0 deletions(-) commit 32b70a56d13050b6d2b0a570c436da1c303814f3 Author: Michael Natterer Date: Mon Nov 7 20:09:00 2011 +0100 gdk: exclude MOD1 from the virtual modifier mapping which effectively nails down the MOD1 == ALT assumption that is valid in all other parts of GTK+. After the modifier abstraction fixes for OSX, the virtual mapping is now (correctly) used in more places, and caused problems with the common default PC keyboard layout on X11 that colocates ALT and META on the same key. (cherry picked from commit ac943bf69a87c992cfde59c6720ef08fdd20e683) gdk/x11/gdkkeys-x11.c | 20 ++++++++++++-------- 1 files changed, 12 insertions(+), 8 deletions(-) commit c3601481b763c9475677af1cd6b62819127f1be2 Merge: 6f4a6b4 fe67f04 Author: Alexander Larsson Date: Mon Nov 7 15:07:01 2011 +0100 Merge branch 'gtk-2-24-win32' into gtk-2-24 commit fe67f04a16bf5edeae6a925051ed1a811638619d Author: Dieter Verfaillie Date: Mon Nov 7 12:30:19 2011 +0100 win32: fix scrolling artifacts When scrolling a window partially obscured by another window, artifacts of the obsuring window where being blitted into the newly scrolled position. In other words, BitBlt copies the covered region (basically garbage instead of what we want) and does not cause a repaint (unlike how XCopyArea behaves). Replacing BitBlt() with the old ScrollDC gymnastics (removed from blit_inside_window() in commit e96a41be45f82af233f5171481c3fecbe95b5b6b) when being passed a Window for blit_inside_drawable() makes these artifacts go away. Thanks to Alexander Larsson for figuring out the cause and pointing out possible solutions. gdk/win32/gdkdrawable-win32.c | 56 ++++++++++++++++++++++++++++++++--------- 1 files changed, 44 insertions(+), 12 deletions(-) commit 6f4a6b4936c78b34682547de323b2afaf4559be6 Author: Michael Natterer Date: Sun Nov 6 23:12:57 2011 +0100 quartz: handle recursive CFRunLoops Fixes e.g. crashs when dropping from finder. Turn the "getting_events" boolean into a counter to handle poll_func() being called recursively, and track the loop depth correctly by changing its counter before bailing out in run_loop_observer_callback(). This way we reallocate our autorelease pool at the right time, and don't kill memory that is still in use by outer run loops. Also drain, not release the pool, just for some defensive forward compatibility. gdk/quartz/gdkeventloop-quartz.c | 53 ++++++++++++++++++++++--------------- 1 files changed, 31 insertions(+), 22 deletions(-) commit 5123ad079ea364a1083b579da92afc7415c0b8b7 Author: Kristian Rietveld Date: Sun Nov 6 09:34:39 2011 +0100 quartz: make gdk_quartz_osx_version conform to coding style gdk/quartz/gdkglobals-quartz.c | 11 +++++------ 1 files changed, 5 insertions(+), 6 deletions(-) commit ff75900b5308f074184e5ebc793f3567da61a978 Author: Kristian Rietveld Date: Sun Nov 6 09:33:50 2011 +0100 quartz: make test_resize () conform to coding style gdk/quartz/gdkevents-quartz.c | 31 +++++++++++++++---------------- 1 files changed, 15 insertions(+), 16 deletions(-) commit 6725dee3aabc3335450657c5d40d54d6d217eeee Author: Kristian Rietveld Date: Sun Nov 6 09:25:16 2011 +0100 quartz: Process motion events within windows bounds without window set When an NSEvent does not have the window field set, we already assumed the event was not for us and discarded it. But for NSMouseMoved events we now make an exception, because such events generated after using/clicking the main menu bar have the window field set to NULL while the application window still has focus. We used to experience a loss of motion events after using the menu bar, this could be seen in buttons that stopped prelighting and first clicks often being ignored unless you clicked somewhere else first. These issues are fixed by this patch. gdk/quartz/gdkevents-quartz.c | 68 +++++++++++++++++++++++++++++++++------- 1 files changed, 56 insertions(+), 12 deletions(-) commit d0e5025694697c5f3394c2e94a58b343a13dc8c6 Author: Kristian Rietveld Date: Sat Nov 5 22:53:22 2011 +0100 quartz: Factor out toplevel from NSEvent code into function gdk/quartz/gdkevents-quartz.c | 37 ++++++++++++++++++++++++++----------- 1 files changed, 26 insertions(+), 11 deletions(-) commit cca1621e7117333ff6306b05e6508baab42e6210 Author: Kristian Rietveld Date: Sat Nov 5 22:43:17 2011 +0100 quartz: Separate out screen_point conversion in function Reduces code duplication and confusion. gdk/quartz/gdkevents-quartz.c | 69 ++++++++++++++-------------------------- 1 files changed, 24 insertions(+), 45 deletions(-) commit 0f7c96b61936dd4796a6b33a04be3ac76f6f96fc Author: Kristian Rietveld Date: Sat Nov 5 22:34:41 2011 +0100 quartz: remove unused variable gdk/quartz/gdkevents-quartz.c | 5 ----- 1 files changed, 0 insertions(+), 5 deletions(-) commit a37c466698db3fc1acd58cc46059d0899025515f Author: Dieter Verfaillie Date: Fri Nov 4 09:44:35 2011 +0100 win32: fix pasting screenshots taken with PrintScreen or Alt+PrintScreen These are found on the clipboard in the biCompression == BI_BITFIELDS && biBitCount >= 16 format. In this case the BITMAPINFOHEADER is followed by three DWORD specifying the masks of the red green and blue components, but bfOffBits was not being adjusted accordingly. Based on Massimo's comment on bug 631384 and verified on http://msdn.microsoft.com/en-us/library/dd183386%28v=VS.85%29.aspx https://bugzilla.gnome.org/show_bug.cgi?id=631384 gdk/win32/gdkselection-win32.c | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) commit a8e820aa7534bd4851066ea206df16fc0f38ddd6 Author: Dieter Verfaillie Date: Fri Nov 4 07:41:55 2011 +0100 win32: fix some typos gdk/win32/gdkselection-win32.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit b7d734bb30d468868a0c002224323394642c36d3 Author: Chun-wei Fan Date: Thu Nov 3 22:38:00 2011 +0800 Update VS property sheets Don't use G_DISABLE_DEPRECATED, so that builds with newer stable GLib versions would not be broken as a result. build/win32/vs10/gtk+.props | 2 +- build/win32/vs9/gtk+.vsprops | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 0a0fd5af99f2ae9b0f8cc6b943b98b7be43ed723 Author: Michael Natterer Date: Wed Nov 2 20:27:39 2011 +0100 Bug 662633 - Scheduled transaction editor crashes with gtk+-2.24.7 Fix commit a516d2359c9eac84bfa4682a70a62315adedb1d6: check if priv->arrow_button exists in forall(). gtk/gtktoolbar.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 985fff354da4b33cac1b56009d9081d505511e60 Author: Alexander Larsson Date: Wed Nov 2 16:49:55 2011 +0100 win32: Fix some warnings gdk/win32/gdkdisplay-win32.c | 2 ++ gdk/win32/gdkevents-win32.c | 6 +----- gdk/win32/gdkfont-win32.c | 4 ++++ gdk/win32/gdkgc-win32.c | 2 ++ gdk/win32/gdkinput-win32.c | 3 +++ gdk/win32/gdkwindow-win32.c | 3 ++- 6 files changed, 14 insertions(+), 6 deletions(-) commit 6cb04372f05188ba00464ed361331eedc82c1fd1 Author: Alexander Larsson Date: Wed Nov 2 16:11:54 2011 +0100 win32: Hack to make statusbar menus show up visible: gtk/gtkstatusicon.c | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-) commit e943d7d8e17e300206911094f12163bc11c3934e Author: Alexander Larsson Date: Wed Nov 2 14:48:21 2011 +0100 Don't show text in file selector bookmark toolbar The text is empty anyway. gtk/gtkfilechooserdefault.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) commit 3cd9920e14acd9ace017046bc420fca5b1e36331 Author: Alexander Larsson Date: Wed Nov 2 14:30:23 2011 +0100 win32: Ensure newly mapped toplevels are inside the workarea This is what e.g. metacity does, and its needed to e.g. get the inital position of the gimp dock window right. gdk/win32/gdkwindow-win32.c | 52 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 52 insertions(+), 0 deletions(-) commit f7438ce4e49484fe86d66806962ca19d3c5f1fd4 Author: Alexander Larsson Date: Wed Nov 2 12:15:53 2011 +0100 win32: Fix placement at initial position Positioning windows at 0,0 post creation failed, because it was mapped with CW_USEDFAULT, but private->x/y still said 0, so moving it to 0,0 did nothing. We now always position the window at the right place, even when not mapped, but we create it at CW_USEDEFAULT initially and store that position before moving it to the right place. This fixes the window sizing test in testgtk and the inital position for the gimp toolbar. gdk/win32/gdkwindow-win32.c | 38 ++++++++++++++++++++++++++++++++------ 1 files changed, 32 insertions(+), 6 deletions(-) commit 1a624ea81841551dbc06f7ffae7c4bec1634d6cc Author: Alexander Larsson Date: Tue Nov 1 22:25:26 2011 +0100 win32: Fix synaptics trackpad issues The synaptics trackpad driver has some weird behaviour on scroll. It pops up a window over the mouse pointer (looking like a scrollbar). This has two problems: * We get extra enter/leave events for the trackpad window * We get back the trackpad window when we look for the window under the mouse to deliver the mousewheel message. So, we add some trackpad specific hacks to avoid this (sigh) based on the trackpad window window class. This fixes bug #542777 and was partially based on a patch there from Peter Clifton. gdk/win32/gdkevents-win32.c | 67 ++++++++++++++++++++++++++++++++++++++---- 1 files changed, 60 insertions(+), 7 deletions(-) commit 718af6870f1562fc410e4f27e41a98a8f0142780 Author: Egon Elbre Date: Mon Oct 3 12:14:31 2011 +0300 fix: win32 tilt axis range gdk/win32/gdkinput-win32.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit c88ccc632a40142b0967fa051d893f575bdd7070 Author: Alexander Larsson Date: Tue Nov 1 21:07:14 2011 +0100 Make print-editor test use double buffering in preview This makes preview work on win32 tests/print-editor.c | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-) commit 49d017dcb9bf7605fe391c4a1690b040b50af5ac Author: Alexander Larsson Date: Tue Nov 1 14:23:44 2011 +0100 win32: Default to MS-Windows theme It really makes little sense to not look like windows apps on windows. If you really want you can change this via a .gtkrc-2.0 file gtk/gtksettings.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) commit 8f6f64fe105e7149f06584686582e0d65b8430ae Author: Alexander Larsson Date: Mon Oct 31 08:15:34 2011 +0100 win32: Make WINTAB support work Lots of rework to make input events work in the csw world gdk/gdkinternals.h | 1 + gdk/gdkwindow.c | 6 + gdk/win32/gdkevents-win32.c | 56 +--- gdk/win32/gdkinput-win32.c | 582 ++++++++++++++++++----------------------- gdk/win32/gdkinput-win32.h | 25 +-- gdk/win32/gdkinput.c | 231 +++++++++--------- gdk/win32/gdkprivate-win32.h | 3 +- gdk/win32/gdkwindow-win32.c | 4 +- gdk/win32/gdkwindow-win32.h | 2 +- gdk/x11/gdkinput-xfree.c | 2 + 10 files changed, 409 insertions(+), 503 deletions(-) commit 2cd09a66535a37747b802443e26dbe63eb4335ed Author: Martin Renold Date: Thu Jun 16 22:24:05 2011 +0200 win32: fix invalid cast gdk/win32/gdkinput-win32.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 2090e37ffb3aebc026ec3fb3acee10e6368b5682 Author: Alexander Larsson Date: Fri Oct 28 11:06:59 2011 +0200 win32: Fix ms-windows theme to not create native subwindows GDK_WINDOW_HWND() calls from outside gdk calls ensure_native_window, but we really want the HWND of the impl window, so call the new gdk_win32_window_get_impl_hwnd() instead. modules/engines/ms-windows/xp_theme.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) commit 26b97f63c972e6b18ccc23bb4442b160bd11173b Author: Alexander Larsson Date: Fri Oct 28 11:05:53 2011 +0200 win32: Add gdk_win32_window_get_impl_hwnd This is needed to fix the ms-windows theme not to create native windows for all child windows. gdk/gdk.symbols | 1 + gdk/win32/gdkwin32.h | 1 + gdk/win32/gdkwindow-win32.c | 9 +++++++++ 3 files changed, 11 insertions(+), 0 deletions(-) commit e81b6971d85c7a782269454311b022ce14787486 Author: Michael Natterer Date: Fri Oct 28 10:19:24 2011 +0200 gtkrc.key.mac: add '"' missing from last commit gtk/gtkrc.key.mac | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit afce8c73419e86c79e3fec31fcf39a67bc96f8ee Author: Morten Welinder Date: Fri Oct 28 09:10:40 2011 +0200 win32: Actually check for IPrintDialogCallback in configure configure.in | 3 +++ gtk/gtkprintoperation-win32.c | 2 +- 2 files changed, 4 insertions(+), 1 deletions(-) commit 4b5b28b64f2ae099682b3bd607f5a1db75131805 Author: Alexander Larsson Date: Thu Oct 27 22:13:54 2011 +0200 win32: Fix modal_hint handling Modal hints are not really a stack. All windows that are modal are allowed to get input, not just the top one. This fixes bug #604156 gdk/win32/gdkevents-win32.c | 22 ++++------------------ gdk/win32/gdkprivate-win32.h | 2 +- gdk/win32/gdkwindow-win32.c | 38 +++++++++++++++++++++++++++----------- 3 files changed, 32 insertions(+), 30 deletions(-) commit 6d1b8185605ed210cdb19c1c01f9eaf3ee7fd962 Author: Alexander Larsson Date: Thu Oct 27 17:16:46 2011 +0200 win32: Don't use API_CALL for SetWindowLong This can return 0 without it being an error. Should fix the last issue with bug #142874 gdk/win32/gdkwindow-win32.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit 47095f97d2d30ea95cb75b3d3e304352217f221b Author: Alexander Larsson Date: Thu Oct 27 16:56:40 2011 +0200 win32: Make flush/sync work like in X gdk_flush() should gdk_display_sync() on all open displays. Both for display_flush and display_sync it seems useful to call GdiFlush, but we don't have anything extra to do for display_sync, as there is no inherent roundtrip on win32. This should close bug #84314 gdk/win32/gdkevents-win32.c | 19 +++---------------- 1 files changed, 3 insertions(+), 16 deletions(-) commit 8588944cb9bf657a8ae3fe5c4a310d2315dc24d3 Author: Alexander Larsson Date: Thu Oct 27 16:09:42 2011 +0200 win32: Add custom placements for some window types Windows with transients: center on parent Splash screens: center on monitor Also properly ignores initial moves of unmapped windows that are not override redirect or HINT_POS Fixes bugs #324254 and #612359 gdk/win32/gdkwindow-win32.c | 91 ++++++++++++++++++++++++++++++++++++++++++- gdk/win32/gdkwindow-win32.h | 4 ++ 2 files changed, 93 insertions(+), 2 deletions(-) commit ac00340d4c67db25874f45ef9d1f85d64af5daba Author: Alexander Larsson Date: Thu Oct 27 10:42:07 2011 +0200 win32: More robust way to ensure we get a configure event after move/resize There were still cases where we didn't get a WINDOWPOSCHANGED after a SetWindowPos() call, like e.g. with a larger minimum size than the set size (bug #574935) So, we revert the previous fix and now just always manually emit a configure notify after the move_resize call. Also, we inhibit the WINDOWPOSCHANGED configure event during the move_resize operation to avoid multiple Configures. gdk/win32/gdkevents-win32.c | 9 +++++- gdk/win32/gdkwindow-win32.c | 58 ++++++++++++------------------------------- gdk/win32/gdkwindow-win32.h | 1 + 3 files changed, 24 insertions(+), 44 deletions(-) commit f44c6d66bf087b465d7b0bc2a1b9a4c525108955 Author: Alexander Larsson Date: Wed Oct 26 21:46:19 2011 +0200 win32: Ensure we always send a configure event when changing size/pos There are some cases where we don't get a WINDOWPOSCHANGE such that we generate a configure event, even if we called gdk_window_move_resize() or similar. For instance: * The window is fullscreen * The window is maximized * The specified pos/size is the same as the current one However, as per X11 ConfigureNotify semantics we *always* want one, or we could run into issue like e.g. bug #537296 where we're waiting for the CONFIGURE to call gdk_window_thaw_toplevel_updates_libgtk_only(). gdk/win32/gdkevents-win32.c | 14 +++++++----- gdk/win32/gdkprivate-win32.h | 1 + gdk/win32/gdkwindow-win32.c | 44 +++++++++++++++++++++++++++++++++++++++-- 3 files changed, 50 insertions(+), 9 deletions(-) commit 4f9e1dd414b17442b9d656872b578ce55d325872 Author: Alexander Larsson Date: Wed Oct 26 21:44:49 2011 +0200 win32: By default, allow windows larger than the screen gdk/win32/gdkevents-win32.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) commit 8c9963f9c3564506c836fa2b6e91142ddd564375 Author: Alexander Larsson Date: Wed Oct 26 12:43:24 2011 +0200 win32: Fix size or style changes during fullscreen When we're fullscreen we should update the cached hints, and we should not apply the normal hints to the style. This fixes bug #516822 gdk/win32/gdkwindow-win32.c | 32 ++++++++++++++++++++------------ 1 files changed, 20 insertions(+), 12 deletions(-) commit 9c575532fd1ad09b3acd35c36cf709c11dedc45b Author: Alexander Larsson Date: Wed Oct 26 11:41:35 2011 +0200 win32: Use WM_NCDESTROY instead of WM_DESTROY WM_NCDESTROY gets called after children are destroyed, which is the semantics DestroyNotify has in X11. gdk/win32/gdkevents-win32.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 9da34d0ec5121469c8bacd55a74fa1d029399436 Author: Alexander Larsson Date: Wed Oct 26 11:39:15 2011 +0200 win32: Don't remove the window from the handle table on destroy We always get the WM_DESTROY message anyway, and we remove it there. Bug #336416 even claims this could be a leak if the WM_DESTROY message was not seen before the DestroyWindow call returned, as the WM_DESTROY message could not be handled later without the window in the handle table. I'm not sure this can happen, but we might as well remove it. gdk/win32/gdkwindow-win32.c | 2 -- 1 files changed, 0 insertions(+), 2 deletions(-) commit 0c0c7418850612a3cef95086ae765dcc03ecf47c Author: Alexander Larsson Date: Wed Oct 26 11:17:12 2011 +0200 win32: don't input_window_destroy twice The common code already calls input_window_destroy gdk/win32/gdkwindow-win32.c | 3 --- 1 files changed, 0 insertions(+), 3 deletions(-) commit 7b425eead778ba105cc8dd397fd853e44c067625 Author: Alexander Larsson Date: Wed Oct 26 11:08:33 2011 +0200 win32: Make set_keep_above work also for non-mapped windows This fixes bug #171456 gdk/win32/gdkwindow-win32.c | 42 +++++++++++++++++++++--------------------- 1 files changed, 21 insertions(+), 21 deletions(-) commit d46303066034aaed9b9bc6a50b721a11d1280e28 Author: Alexander Larsson Date: Wed Oct 26 10:21:10 2011 +0200 win32: Send window-state-changes before configure events This is requires to that the state of the window is right when you get the configure event (and to match what X does). Fixes bug #169811 gdk/win32/gdkevents-win32.c | 60 +++++++++++++++++++++--------------------- gdk/win32/gdkwindow-win32.c | 8 +++-- 2 files changed, 35 insertions(+), 33 deletions(-) commit ccf12f7b406ecbd8f0c26b0e6dc86d4593144dab Author: Michael Natterer Date: Tue Oct 25 22:19:11 2011 +0200 gtkrc.key.mac: add Command-cursor text navigation and some emacs-ish Control bindings that work in native widgets. Patch from Michael Hutchinson. gtk/gtkrc.key.mac | 35 +++++++++++++++++++++++++++++++++++ 1 files changed, 35 insertions(+), 0 deletions(-) commit 79a92f99a9dbdc7b1a651b0e8665807bd89c6632 Author: Michael Natterer Date: Tue Oct 25 17:01:25 2011 +0200 gtkrc.key.mac: remove half the file, it was an accidential double paste gtk/gtkrc.key.mac | 120 ----------------------------------------------------- 1 files changed, 0 insertions(+), 120 deletions(-) commit cd7fa0385cf122aa145ce767b9e5886ab4a0caee Author: Alexander Larsson Date: Tue Oct 25 16:39:42 2011 +0200 win32: Send initial configure We need to send a configure event when a window is shown. gdk/win32/gdkevents-win32.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) commit 5bd8485a3d504ecd78529ead37abaa2b50e027d3 Author: Alexander Larsson Date: Tue Oct 25 16:13:47 2011 +0200 win32: Ignore client requested window move/size during SIZEMOVE This will just be fighting the user like in e.g. https://bugzilla.gnome.org/show_bug.cgi?id=64428 gdk/win32/gdkevents-win32.c | 13 +++++++++++-- gdk/win32/gdkglobals-win32.c | 1 + gdk/win32/gdkprivate-win32.h | 2 ++ gdk/win32/gdkwindow-win32.c | 5 +++++ 4 files changed, 19 insertions(+), 2 deletions(-) commit c87114cb140f649cb04b1e2508a99967893ee9ae Author: Alexander Larsson Date: Tue Oct 25 15:36:13 2011 +0200 win32: Remove most special casing of WINPOSCHANGED during modal ops There is no particular reason to special case this, we want to handle all sort of normal events. The only special thing we keep is that as an optimization we pump the message loop extra during a WINPOSCHANGED in a modal operation as that will cause us to repaint faster. Also, bump the arbitrary number of mainloop iterations for the timer. I don't see why we need it at all, but at least doing more than one iteration if needed should be nice. gdk/win32/gdkevents-win32.c | 205 ++++++++++++++++++------------------------- 1 files changed, 87 insertions(+), 118 deletions(-) commit b0d108a5c4e2ae1edc71b57b88b65e39108ee555 Author: Alexander Larsson Date: Tue Oct 25 15:34:22 2011 +0200 win32: Fix missed resize exit message When you start a window resize or move via the window menu and don't actually change anything we're not getting an exitsizemove. In order to work around this we also look for WM_CAPTURECHANGED. gdk/win32/gdkevents-win32.c | 11 ++++++++++- 1 files changed, 10 insertions(+), 1 deletions(-) commit 2dfd498fd80dbfcc86c20dc452b1cf799ee11a68 Author: Alexander Larsson Date: Tue Oct 25 14:38:16 2011 +0200 win32: Handle all window changes in WINDOWPOSCHANGED This moves all the code from WM_SIZE, WM_MOVE, and WM_SHOWWINDOW into one place, cleans up the code and makes sure we only send a single configure event even if both size and position changes. gdk/win32/gdkevents-win32.c | 308 +++++++++++++++++++----------------------- 1 files changed, 139 insertions(+), 169 deletions(-) commit e2d3bdf68ca88c42697adc16ea3955a4f538abbd Author: Alexander Larsson Date: Tue Oct 25 14:26:22 2011 +0200 win32: Fix up window_show We don't pass in raise anymore, but already_mapped. Also, already_mapped must be used rather than MAPPED, as we already synthesize the MAPPED in the generic code (and thus we don't have to synthesize it again). gdk/win32/gdkwindow-win32.c | 71 +++++++++---------------------------------- 1 files changed, 15 insertions(+), 56 deletions(-) commit c040b03c2e32a773a4d9cf4019050c2f8a5b91ce Author: Michael Natterer Date: Sat Oct 22 23:08:32 2011 +0200 gtkquartz: don't free the string returned by get_bundle_path() It's statically allocated. gtk/gtkquartz.c | 43 +++++++++++++++++++------------------------ 1 files changed, 19 insertions(+), 24 deletions(-) commit b85176789bc9fe22cc395cf4a4580588e6ae4294 Author: Jerome Lambourg Date: Fri Oct 21 14:03:22 2011 +0200 win32: fix themed notebook tab renderering The ms-windows engine incorrectly displays notebooks: the tabs are not attached to the body, and look more like regular buttons than actual notebook tabs. Also, the frame around the notebooks is also incorrectly drawn. https://bugzilla.gnome.org/show_bug.cgi?id=650300 modules/engines/ms-windows/msw_style.c | 502 ++++++++++++++++++-------------- modules/engines/ms-windows/xp_theme.c | 3 + modules/engines/ms-windows/xp_theme.h | 1 + 3 files changed, 283 insertions(+), 223 deletions(-) commit 97a0234370910ef35c76adacbff68e48097e1ad5 Author: Dieter Verfaillie Date: Thu Oct 20 17:09:31 2011 +0200 win32: correctly handle difference between tab_pos and gap_side when drawing an extension (notebook tab) modules/engines/ms-windows/msw_style.c | 16 ++++++++++------ 1 files changed, 10 insertions(+), 6 deletions(-) commit 900f39d5955ff6da4d82c7cbfd9ed40d933152e4 Author: Dieter Verfaillie Date: Thu Oct 20 14:03:31 2011 +0200 win32: add TODO mentioning GtkButton::child-displacement-x & y should be 0 when XP theme is active modules/engines/ms-windows/msw_style.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) commit 628093a4e19566c4176ff00b0451c96d82b3e9f8 Author: Arnaud Charlet Date: Thu Oct 20 13:18:19 2011 +0200 win32: fix typo in msw_style.c https://bugzilla.gnome.org/show_bug.cgi?id=647460 modules/engines/ms-windows/msw_style.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 12507a7cc2dcbc4f4c85acaafda8596de9364048 Author: Dieter Verfaillie Date: Fri Oct 21 11:38:31 2011 +0200 win32: Call GetQueueStatus instead of PeekMessage PM_NOREMOVE Calling PeekMessage can cause reentrant calls into the window procedure for sent (as opposed to posted) messages, so its not safe to call when we're not expecting reentrancy. Instead we call GetQueueStatus when we're just looking for availible messages. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=552041 gdk/win32/gdkevents-win32.c | 9 +++------ 1 files changed, 3 insertions(+), 6 deletions(-) commit 661cddb65003b393073a18b3e30d2c08ff14f60b Author: Chun-wei Fan Date: Thu Oct 20 16:59:36 2011 +0800 Update VS 2010 property sheet Correct the DefDir property... build/win32/vs10/gtk+.props | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 67c410d51b383735da9e13ae30c96a63064c9b46 Author: Chun-wei Fan Date: Thu Oct 20 16:59:36 2011 +0800 Update VS 2010 property sheet Correct the DefDir property... build/win32/vs10/gtk+.props | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 039f5fdfb55cf3bd5093ba2c8cf565810bd92161 Author: Alexander Larsson Date: Wed Oct 19 21:44:38 2011 +0200 Better crossing events and grab destination reporting We new report to the right window during !owner_event grabs, and we send proper enter and leave events. gdk/win32/gdkevents-win32.c | 399 ++++++++++++++++++++++++++++++++++--------- 1 files changed, 314 insertions(+), 85 deletions(-) commit bfe27c0aef4dccadd03851310b6eb35104744de0 Author: Alexander Larsson Date: Wed Oct 19 21:36:41 2011 +0200 win32: Record the native event mask in use gdk/win32/gdkwindow-win32.c | 16 ++++++++++++---- gdk/win32/gdkwindow-win32.h | 2 ++ 2 files changed, 14 insertions(+), 4 deletions(-) commit c6cab74920aaa7f1148a77d682ae091a37420393 Author: Alexander Larsson Date: Wed Oct 19 21:35:04 2011 +0200 Use right native_window for implicit grabs The native grab really is on the window that got the button press event. gdk/gdkwindow.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit b34ff7b3eafb553d26dd892dd110004bf31dd0eb Author: Alexander Larsson Date: Wed Oct 19 16:15:17 2011 +0200 in window_at_pointer, ensure that we handle non-client areas correctly We should not return a window if the pointer is in the non-client area, like the titlebar. gdk/win32/gdkwindow-win32.c | 23 ++++++++++++++++++----- 1 files changed, 18 insertions(+), 5 deletions(-) commit a4288a88f4c5948e5f96eb0498b5f2b3636e1ccf Author: Alexander Larsson Date: Tue Oct 18 16:52:41 2011 +0200 Handle implicit grabs gdk/win32/gdkevents-win32.c | 23 ++++++++++++++++++++++- 1 files changed, 22 insertions(+), 1 deletions(-) commit 71e187b3155e6ed4d006dfd537231ca0cfe1537d Author: Matthias Clasen Date: Mon Oct 17 19:05:50 2011 -0400 Post release version bump configure.in | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)