commit faeaa2f91ee9561f36cc6f66df6bdeb46eb16f88 Author: Matthias Clasen Date: Mon Sep 14 07:09:02 2015 -0400 3.17.9 NEWS | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ configure.ac | 2 +- 2 files changed, 60 insertions(+), 1 deletion(-) commit 7c4c8b90f0b1d5619b1a4e46420e09d9b3849684 Author: Jonas Ådahl Date: Thu Sep 10 17:42:21 2015 +0800 wayland: Make subsurface desynchronized after first parent surface frame Initially the subsurface will be in synchronized mode and we will leave it like this until the first time the parent surface has been committed. The reason for this is because the subsurface position will be applied as part of the parent surface state, and we need to synchronize the initial position with the initial frame, so that we don't accidentally draw the subsurface at the default position (0, 0) which would happen in desynchronized mode if the subsurface content is committed before the next parent surface commit. https://bugzilla.gnome.org/show_bug.cgi?id=754839 gdk/wayland/gdkwindow-wayland.c | 81 ++++++++++++++++++++++++++++++++--------- 1 file changed, 63 insertions(+), 18 deletions(-) commit 07a574ddddd971f7b8a4aa237f6bdb4a4a08c6b5 Author: Benjamin Otte Date: Mon Sep 14 20:22:45 2015 +0200 window: Use gtk_widget_queue_resize() _gtk_container_queue_resize() is a private function and probably shouldn't have even been used in 1999 when this call was originally added. gtk/gtkwin32embedwidget.c | 2 +- gtk/gtkwindow.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) commit bcc0a54383b65c4e476e481cc0485d49d34adbbc Author: Benjamin Otte Date: Mon Sep 14 23:32:16 2015 +0200 inspector: Store the parent for the object tree This allows selecting newly added random objects. https://bugzilla.gnome.org/show_bug.cgi?id=754987 gtk/inspector/object-tree.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) commit 018856df23192b2aa34e2a7aaa1ebed23410b223 Author: Fran Dieguez Date: Mon Sep 14 22:58:23 2015 +0200 Updated Galician translations po/gl.po | 3858 ++++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 2090 insertions(+), 1768 deletions(-) commit 1c8760c5fafa4d55eef9b31166e2095b88b06b46 Author: Christian Hergert Date: Mon Sep 14 12:25:44 2015 -0700 gdkwindow: avoid multiple walking of children list This counts the number of children and fetches the last GList node at the same time. gdk/gdkwindow.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) commit 7d3ad4384175eec0b75e8a09e5da1a917008374c Author: Matthias Clasen Date: Mon Sep 14 13:27:43 2015 -0400 Revert "print backend: Remove an unneeded variable" This reverts commit 9ebebd48b00092446cdbeee03b49f149725c9868. This change broke the templates testcase, and I don't have time to poke at why, right now. gtk/gtkprintbackend.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit afa60da5535677b4e7b64f105bc323302cbc8080 Author: Matthias Clasen Date: Mon Sep 14 13:20:36 2015 -0400 Fix a copy-paste error We were notifying can-focus when can-default changes. Unit tests save the day. gtk/gtkwidget.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 5f0dcef29e37822f2cd8f37fc5f81a5419329d15 Author: Muhammet Kara Date: Mon Sep 14 17:59:30 2015 +0000 Updated Turkish translation po-properties/tr.po | 7239 ++++++++++++++++++++------------------------------- 1 file changed, 2791 insertions(+), 4448 deletions(-) commit e1694a719f1963dd9432bfb2249340b3977b5747 Author: Carlos Garnacho Date: Mon Mar 2 17:01:21 2015 +0100 scrolledwindow: Cancel kinetic/overshoot animation on captured scroll events This ensures the animation is cancelled if the child widget happens to GDK_EVENT_STOP scroll events. https://bugzilla.gnome.org/show_bug.cgi?id=745315 gtk/gtkscrolledwindow.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 15411aa032ca0c36f8a9adc9c1c2ee71a5131fbf Author: Matthias Clasen Date: Mon Sep 14 11:49:15 2015 -0400 entry: Drop the Ctrl-K keybinding This interferes with a well-loved firefox shortcut, and we are more interested in a gtk3 firefox than in legacy keybindings. gtk/gtkentry.c | 4 ---- 1 file changed, 4 deletions(-) commit 259611a87c0d31741fcf45fca745643c5a1d5dc2 Author: Carlos Garnacho Date: Mon Sep 14 17:33:23 2015 +0200 gtkwidget: Do not listen to notifications from nonexistent properties The GtkEventController event mask is private, and set early by GtkGesture implementations. Being this private data, there is no corresponding property, so this code is a no-op, there is just no need to listen to changes there. gtk/gtkwidget.c | 13 ------------- 1 file changed, 13 deletions(-) commit 13873d2c507783042df55ad2c48f37a346121fd0 Author: Carlos Garnacho Date: Thu Sep 10 14:18:04 2015 +0200 gtkwidget: Ensure unrealization during event dispatching cancels gestures We use to rely on grab broken events for most of the event sequence lifetime, this breaks though on GDK_BUTTON_RELEASE/GDK_TOUCH_END, as there's no longer a grab at that time. For these cases (and all others where there's destroy/unrealize calls involved during event dispatching), catch this on the late WIDGET_REALIZED_FOR_EVENT calls on widget event handling functions. https://bugzilla.gnome.org/show_bug.cgi?id=754098 gtk/gtkwidget.c | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) commit 0dae974b962be0d0928a919cd6fa5407f1ba38dd Author: Carlos Garnacho Date: Thu Sep 10 14:16:20 2015 +0200 gtkwidget: refactor code into separate function This "cancel sequence across widget hierarchy" code will be useful in other places, so take it out to a separate function. https://bugzilla.gnome.org/show_bug.cgi?id=754098 gtk/gtkwidget.c | 38 +++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) commit 1c4a7bd552ea2f954c91e7a2169166140122e24a Author: Matthias Clasen Date: Mon Sep 14 11:15:32 2015 -0400 Revert "tool button: Use G_DEFINE_TYPE" This reverts commit 4e56dfad0e33187d019c44ecfb5e7e99cf2da535. It turns out that GtkToolButton is playing games with the class pointer inside instance_init, so leave it alone. gtk/gtktoolbutton.c | 69 +++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 54 insertions(+), 15 deletions(-) commit 76810e110b9a90019de285b9f018b6ba356e5071 Author: Matthias Clasen Date: Mon Sep 14 09:38:08 2015 -0400 gtk-builder-tool: Don't break GtkHBox and GtkVBox These classes have different defaults for ::expand than GtkBox, which is not reflected in the declared default, so we have to blacklist it. gtk/gtk-builder-tool.c | 2 ++ 1 file changed, 2 insertions(+) commit 75057db990d630b2f0532c40cb666ce9c40fbbbe Author: Matthias Clasen Date: Mon Sep 14 09:35:01 2015 -0400 gtk-demo: Fix builder example This example is still using a GtkVBox, and it happened to be broken by gtk-builder-tool simplify. demos/gtk-demo/demo.ui | 5 +++++ 1 file changed, 5 insertions(+) commit f9c37cb887068e37c1e5ea1d65a6c928d79d581b Author: Fran Dieguez Date: Mon Sep 14 16:47:51 2015 +0200 Updated Galician translations po-properties/gl.po | 2362 ++++++++++++++++++++++++++------------------------- 1 file changed, 1182 insertions(+), 1180 deletions(-) commit d547b867738451ed4828401f523bbebe67054c35 Author: Fran Dieguez Date: Mon Sep 14 16:44:48 2015 +0200 Updated Galician translations po/gl.po | 274 +++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 145 insertions(+), 129 deletions(-) commit 68e50d20a7f765b3b5c6196f0d4de134fc111bac Author: Alexander Larsson Date: Mon Sep 14 15:05:37 2015 +0200 widget: Call size_allocate vfunc directly when possible This avoids all the overhead of signal emissions when it is not used. gtk/gtkwidget.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit cdd951e927ad37933eb12f62fc6eaafe542a7c29 Author: Alexander Larsson Date: Mon Sep 14 11:36:43 2015 +0200 draw: call vfunc rather then emit signal for the common case This avoids a lot of overhead in the common case where a signal is not connected and we're just using the class vfunc (which is true for all in-libgtk widgets). Additionally it makes backtraces in debuggers and profiles much much nicer to look at. https://bugzilla.gnome.org/show_bug.cgi?id=754986 gtk/gtkwidget.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) commit d5f1754981129094afbe5d9c1d57e41599fad410 Author: Alexander Larsson Date: Mon Sep 14 10:56:13 2015 +0200 gtk: Stop setting GDK_EXPOSURE_MASK on random widgets These days exposure happens only on the native windows (generally the toplevel window) and is propagated down recursively. The expose event is only useful for backwards compat, and in fact, for double buffered widgets we totally ignore the event (and non-double buffering breaks on wayland). So, by not setting the mask we avoid emitting these events and then later ignoring them. We still keep it on eventbox, fixed and layout as these are used in weird ways that want backwards compat. gtk/deprecated/gtkcolorsel.c | 1 - gtk/deprecated/gtkhandlebox.c | 4 +--- gtk/deprecated/gtkmisc.c | 2 +- gtk/gtkcalendar.c | 1 - gtk/gtkflowbox.c | 1 - gtk/gtkglarea.c | 2 +- gtk/gtkiconview.c | 3 +-- gtk/gtklistbox.c | 2 +- gtk/gtkmagnifier.c | 3 +-- gtk/gtkmenu.c | 2 +- gtk/gtkmenushell.c | 3 +-- gtk/gtknotebook.c | 2 +- gtk/gtkoverlay.c | 2 +- gtk/gtkpaned.c | 2 +- gtk/gtkpopover.c | 1 - gtk/gtkrevealer.c | 2 +- gtk/gtkscrolledwindow.c | 4 ++-- gtk/gtkspinbutton.c | 2 +- gtk/gtkstack.c | 2 +- gtk/gtktextview.c | 3 +-- gtk/gtktoolitemgroup.c | 2 +- gtk/gtktoolpalette.c | 2 +- gtk/gtktreeview.c | 14 ++++++-------- gtk/gtkviewport.c | 2 +- 24 files changed, 26 insertions(+), 38 deletions(-) commit eafedfbaf8e080a1e444f46cde082fb2734552f9 Author: Alexander Larsson Date: Mon Sep 14 09:43:14 2015 +0200 gdkwindow: Avoid list allocation and object refs during repaint There is no need to ref the windows we're ignoring, so collect and ref only the affected child windows. Also, use a on-stack array rather than allocating a linked list. Also, we don't need to ref during the event emissions too, as we already hold a ref. https://bugzilla.gnome.org/show_bug.cgi?id=754687 gdk/gdkwindow.c | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) commit d9c07063050747109bf29b20cb8c0149f79c6216 Author: Pedro Albuquerque Date: Mon Sep 14 07:31:34 2015 +0000 Updated Portuguese translation po/pt.po | 412 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 206 insertions(+), 206 deletions(-) commit 136e3877b94f631c80e9a163ce123f62a5ee69f3 Author: Piotr Drąg Date: Mon Sep 14 09:30:30 2015 +0200 Updated Polish translation po/pl.po | 410 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 205 insertions(+), 205 deletions(-) commit b9322433d341e5b812b9baa6d28f5a9b196860a4 Author: Matthias Clasen Date: Sun Sep 13 23:26:16 2015 -0400 Update all ui files again Replace translatable="1" by translatable="yes" so xgettext stays happy and extracts the strings. demos/gtk-demo/application.ui | 2 +- demos/gtk-demo/demo.ui | 56 ++++----- demos/gtk-demo/filtermodel.ui | 24 ++-- demos/gtk-demo/font-features.ui | 72 ++++++------ demos/gtk-demo/listbox.ui | 20 ++-- demos/gtk-demo/main.ui | 8 +- demos/gtk-demo/modelbutton.ui | 2 +- demos/gtk-demo/scale.ui | 4 +- demos/gtk-demo/spinbutton.ui | 2 +- demos/gtk-demo/stack.ui | 8 +- demos/gtk-demo/theming.ui | 32 ++--- demos/widget-factory/widget-factory.ui | 206 ++++++++++++++++----------------- gtk/ui/gtkaboutdialog.ui | 6 +- gtk/ui/gtkappchooserdialog.ui | 10 +- gtk/ui/gtkappchooserwidget.ui | 2 +- gtk/ui/gtkassistant.ui | 12 +- gtk/ui/gtkcolorchooserdialog.ui | 6 +- gtk/ui/gtkcoloreditor.ui | 18 +-- gtk/ui/gtkfilechooserbutton.ui | 2 +- gtk/ui/gtkfilechooserwidget.ui | 28 ++--- gtk/ui/gtkfontbutton.ui | 2 +- gtk/ui/gtkfontchooserdialog.ui | 6 +- gtk/ui/gtkfontchooserwidget.ui | 8 +- gtk/ui/gtklockbutton.ui | 4 +- gtk/ui/gtkpagesetupunixdialog.ui | 16 +-- gtk/ui/gtkpathbar.ui | 4 +- gtk/ui/gtkplacesview.ui | 14 +-- gtk/ui/gtkplacesviewrow.ui | 2 +- gtk/ui/gtkprintunixdialog.ui | 108 ++++++++--------- gtk/ui/gtkrecentchooserdefault.ui | 2 +- gtk/ui/gtkvolumebutton.ui | 12 +- 31 files changed, 349 insertions(+), 349 deletions(-) commit fda5b4ce4cfb4fd169ae7d5d25f5b587fe872b74 Author: Matthias Clasen Date: Sun Sep 13 23:24:05 2015 -0400 builder-tool: Don't simplify translatable="yes" It turns out that xgettext does not understand translatable="1", so don't make gtk-builder-tool produce this, even though GtkBuilder can parse it just fine. https://bugzilla.gnome.org/show_bug.cgi?id=754928 gtk/gtk-builder-tool.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) commit 0db331d24488318b4492caf3a8223bfc9908faf1 Author: Matthias Clasen Date: Fri Sep 4 18:26:51 2015 -0400 file chooser: make rows with popovers visible Without this, the popovers are just dangling in the middle of nowhere. https://bugzilla.gnome.org/show_bug.cgi?id=754411 gtk/gtkplacessidebar.c | 49 ++ gtk/theme/Adwaita/_common.scss | 4 +- gtk/theme/Adwaita/gtk-contained-dark.css | 771 ++++++++++++++----------------- gtk/theme/Adwaita/gtk-contained.css | 691 ++++++++++++--------------- 4 files changed, 698 insertions(+), 817 deletions(-) commit 6f10fa1f40cb4a8a222ce785590a37d04fcff53d Author: Christian Hergert Date: Sun Sep 13 13:40:57 2015 -0700 pixelcache: squash warnings introduced by previous commits gtk/gtkpixelcache.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit a3605bc5573253bfbb1e16ca762ce7bcc8700c02 Author: Christian Hergert Date: Tue Sep 8 15:36:07 2015 -0700 textview: give pixelcache access to style context This changes textview to share the style context with the pixelcache. Doing so allows pixel cache to optimize the surface creation and use a CAIRO_CONTENT_COLOR instead of CAIRO_CONTENT_COLOR_ALPHA when appropriate. https://bugzilla.gnome.org/show_bug.cgi?id=754658 gtk/gtktextview.c | 4 ++++ 1 file changed, 4 insertions(+) commit 7c1ce9f3adabee70de886c6d32333650c691e97c Author: Christian Hergert Date: Tue Sep 8 15:09:04 2015 -0700 viewport: share style context with pixelcache This allows the pixel cache to opportunistically use CAIRO_CONTENT_COLOR instead of CAIRO_CONTENT_COLOR_ALPHA during surface creation. https://bugzilla.gnome.org/show_bug.cgi?id=754658 gtk/gtkviewport.c | 4 ++++ 1 file changed, 4 insertions(+) commit d7eb90779f3f0b71d640c12ebcff632cf2af3974 Author: Christian Hergert Date: Tue Sep 8 14:48:40 2015 -0700 pixelcache: use GtkStyleContext to determine cairo_content_t for surface We can take a fast path if the background for a widget is opaque by using a CAIRO_CONTENT_COLOR instead of a CAIRO_CONTENT_COLOR_ALPHA surface. Most blit'ing backends have a fast path for this, including Pixman and Quartz. https://bugzilla.gnome.org/show_bug.cgi?id=754658 gtk/gtkpixelcache.c | 20 +++++++++++++++----- gtk/gtkpixelcacheprivate.h | 2 ++ 2 files changed, 17 insertions(+), 5 deletions(-) commit c1691a49640026c4701f13c96ab914cd456310b7 Author: Christian Hergert Date: Tue Sep 8 14:45:51 2015 -0700 stylecontext: add opaque background helper This new private API, _gtk_style_context_is_background_opaque(), is meant to be used by internal Gtk+ wigets to optimize fast paths for cases where applicable. One such use would be to use a CAIRO_CONTENT_COLOR surface instead of CAIRO_CONTENT_COLOR_ALPHA. https://bugzilla.gnome.org/show_bug.cgi?id=754658 gtk/gtkstylecontext.c | 21 ++++++++++++++++----- gtk/gtkstylecontextprivate.h | 2 ++ 2 files changed, 18 insertions(+), 5 deletions(-) commit b64a0b923389fb719b6d8947973c834c0be315cb Author: Matthias Clasen Date: Sun Sep 13 14:18:19 2015 -0400 wayland: Avoid a crash with GtkGLArea We must not call gdk_wayland_window_attach_image when using GL for drawing, this leads to a crash. https://bugzilla.gnome.org/show_bug.cgi?id=754770 gdk/wayland/gdkwindow-wayland.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit ea294fd92c86aa28fd40b1c5c14f55eea6da5f6b Author: Alexander Larsson Date: Thu Sep 10 12:57:16 2015 +0200 gdkwindow: Store children list nodes in GdkWindow structure This avoids a bunch of allocations, and additionally it has better cache behaviour, as we don't follow pointers to the separate GList node memory areas during traversal. From Christian Hergert: This machine is a Retina mac book pro so I've been working on getting GtkTextView (GtkPixelCache) up to our performance level on X11/Wayland. I'm seeing a jump from about 43 FPS to about 50 FPS. https://bugzilla.gnome.org/show_bug.cgi?id=754687 gdk/gdkinternals.h | 2 ++ gdk/gdkwindow.c | 69 ++++++++++++++++++++++++++++++++++++++++-------------- 2 files changed, 53 insertions(+), 18 deletions(-) commit 0175cd8ae7ee66dda18ec09194137bf81f6f72bc Author: Matthias Clasen Date: Sun Sep 13 12:44:17 2015 -0400 places sidebar: keep open variants sensitive Add a separate action for "Open in Tab" and "Open in new window" so we can keep them enabled when we disable "Open" for the selected row. https://bugzilla.gnome.org/show_bug.cgi?id=754410 gtk/gtkplacessidebar.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 2b3a116ef7a086319aea6613c0114ef03e3ecb19 Author: Dušan Kazik Date: Sun Sep 13 08:58:00 2015 +0000 Updated Slovak translation po-properties/sk.po | 454 +++++++++++++++++++++++++--------------------------- 1 file changed, 220 insertions(+), 234 deletions(-) commit 4bcc49c9ef37a646bcd4712e4bb69f6da6e92b7f Author: Dušan Kazik Date: Sun Sep 13 08:50:28 2015 +0000 Updated Slovak translation po/sk.po | 1304 ++++++++++++++++++++++++++------------------------------------ 1 file changed, 541 insertions(+), 763 deletions(-) commit 8a540ea0d0d49d8caea6e603565a8d6ea822d62f Author: Matthias Clasen Date: Sat Sep 12 23:56:39 2015 -0400 Drop GtkWidgetAuxInfo Merge it into GtkWidgetPrivate. In my measurements, about half of all widgets have a non-default auxinfo struct, and we use this information in size allocation, so it is nice to avoid the gdata overhead. gtk/gtkwidget.c | 294 +++++++++++++------------------------------------ gtk/gtkwidgetprivate.h | 49 +++------ 2 files changed, 93 insertions(+), 250 deletions(-) commit b355b07c10f2ae3297bd3fce8ff6d986c375ebba Author: Matthias Clasen Date: Sat Sep 12 20:58:41 2015 -0400 Move font map to qdata This is very rarely used, lets not reserve space for it in every widget. gtk/gtkwidget.c | 38 ++++++++++++++++++++++++++------------ gtk/gtkwidgetprivate.h | 2 -- 2 files changed, 26 insertions(+), 14 deletions(-) commit 70a2281959eed7e459766bfe1f4e25786b474611 Author: Matthias Clasen Date: Sat Sep 12 20:41:45 2015 -0400 Move font options to gdata This is very rarely used, lets not reserve space for it in every widget. gtk/gtkwidget.c | 30 ++++++++++++++++-------------- gtk/gtkwidgetprivate.h | 1 - 2 files changed, 16 insertions(+), 15 deletions(-) commit b16658283595a84395b28fcdf6c19a3d4900aabd Author: Matthias Clasen Date: Sat Sep 12 20:08:56 2015 -0400 Move action muxer to gdata Most widgets don't have their own, and we don't access them very frequently. gtk/gtkwidget.c | 45 +++++++++++++++++++++++++++++++++------------ gtk/gtkwidgetprivate.h | 3 --- 2 files changed, 33 insertions(+), 15 deletions(-) commit e4de412fd34a489a712a5f223c7824d3aba99136 Author: Matthias Clasen Date: Sat Sep 12 19:50:42 2015 -0400 Move widget paths to gdata We only use widget paths for a few widgets nowadays (notebook, treeview, pathbar, combobox), so we can save some space by not having this field in GtkWidgetPrivate. gtk/gtkwidget.c | 37 ++++++++++++++++++++----------------- gtk/gtkwidgetprivate.h | 8 +++----- 2 files changed, 23 insertions(+), 22 deletions(-) commit bf95c8462bbc2420bea95885bf7fb8a21b4ed878 Author: Benjamin Otte Date: Sun Sep 13 01:52:49 2015 +0200 combobox: Stop using old styling code Instead of get_path_for_child() use CSS nodes. gtk/gtkcombobox.c | 89 +++++-------------------------------------------------- 1 file changed, 7 insertions(+), 82 deletions(-) commit 75439cafb6330da6c907f358ddc36ea92a0d46a4 Author: Matthias Clasen Date: Sat Sep 12 19:22:17 2015 -0400 Move template support to qdata The hash table is only accessed at creation and destruction time, and many widgets don't use templates at all, so no need to have this permanently occupying space. gtk/gtkwidget.c | 28 +++++++++++++++++----------- gtk/gtkwidgetprivate.h | 4 ---- 2 files changed, 17 insertions(+), 15 deletions(-) commit d8e1f1edf500809188c15f54186f8dc90ad66292 Author: Matthias Clasen Date: Sat Sep 12 18:54:38 2015 -0400 Pack GtkWidgetPrivate a bit better This makes it shrink from 240 to 232 bytes. gtk/gtkwidgetprivate.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 27db410fd501f8a59c416cbc8fc81eda7771dfd3 Author: Matthias Clasen Date: Sat Sep 12 18:48:17 2015 -0400 Use NULL instead of g_direct_equal GHashTable has built-in support for pointer comparison. gtk/gtkwidget.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) commit f1414a125f006b1131c89e9b723f90f842e95a20 Author: Matthias Clasen Date: Sat Sep 12 18:36:32 2015 -0400 Move GtkWidgetAuxInfo struct to private headers There's no API returning such a struct, it is entirely internal. Therefore, don't expose it in public headers. gtk/gtkwidget.h | 20 -------------------- gtk/gtkwidgetprivate.h | 21 +++++++++++++++++++++ 2 files changed, 21 insertions(+), 20 deletions(-) commit 51a1bc21af92d866a96c15b538d34708f8c91045 Author: Benjamin Otte Date: Sat Sep 12 21:27:10 2015 +0200 Revert "Avoid type checking overhead for resize-mode" This reverts commit 3eacfa88f2d9c690a006de9cac1cd3c60901686c. Apart from the patch not being correct, we don't want to expose private structures in header files if we can avoid it. And this type-checking overhead is not an optimization that is even measurable. https://bugzilla.gnome.org/show_bug.cgi?id=754932 gtk/gtkcontainer.c | 25 ++++++++++++++++++++++--- gtk/gtkcontainerprivate.h | 28 ---------------------------- gtk/gtkcsswidgetnode.c | 4 ++-- gtk/gtkwidget.c | 2 ++ gtk/gtkwindow.c | 4 ++-- 5 files changed, 28 insertions(+), 35 deletions(-) commit 286e8eec3a8ab18329a4bf68ccdead08a2c5ef56 Author: Piotr Drąg Date: Sat Sep 12 19:42:41 2015 +0200 Updated POTFILES.in po-properties/POTFILES.in | 8 ++++++++ po/POTFILES.in | 10 +++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) commit 29c799a1e77e441160892366355e9a55aed5df40 Author: Matthias Clasen Date: Sat Sep 12 09:14:47 2015 -0400 Use g_object_get_qdata instead of g_object_get_data This is less expensive. gtk/deprecated/gtkstyle.c | 14 +++++++++----- gtk/gtkcssnode.c | 13 ++++++++++--- gtk/gtklabel.c | 46 +++++++++++++++++++++++++++------------------ gtk/gtksettings.c | 15 ++++++++++----- gtk/gtktooltip.c | 48 +++++++++++++++++++++++------------------------ 5 files changed, 80 insertions(+), 56 deletions(-) commit 66f0bdee0adf422f23b5e0bb5addd6256958eb82 Author: Matthias Clasen Date: Sat Sep 12 09:13:00 2015 -0400 Intern all signal names beforehand This avoids pointless allocations gdk/gdkkeys.c | 6 +++--- gtk/gtkaboutdialog.c | 2 +- gtk/gtkactionmuxer.c | 3 ++- gtk/gtkappchooserbutton.c | 2 +- gtk/gtkappchooserwidget.c | 6 +++--- gtk/gtkapplication.c | 4 ++-- gtk/gtkcolorchooser.c | 2 +- gtk/gtkcolorswatch.c | 4 ++-- gtk/gtkfilesystem.c | 3 ++- gtk/gtkflowbox.c | 26 +++++++++++++------------- gtk/gtkfontchooser.c | 2 +- gtk/gtkgesture.c | 10 +++++----- gtk/gtkgesturedrag.c | 7 ++++--- gtk/gtkgesturelongpress.c | 4 ++-- gtk/gtkgesturemultipress.c | 6 +++--- gtk/gtkgesturepan.c | 2 +- gtk/gtkgesturerotate.c | 3 ++- gtk/gtkgestureswipe.c | 3 ++- gtk/gtkgesturezoom.c | 3 ++- gtk/gtkglarea.c | 4 ++-- gtk/gtklevelbar.c | 2 +- gtk/gtklistbox.c | 28 ++++++++++++++-------------- gtk/gtkprinteroption.c | 2 +- gtk/gtkprinteroptionset.c | 3 ++- gtk/gtkprinteroptionwidget.c | 2 +- gtk/gtksearchengine.c | 7 ++++--- 26 files changed, 77 insertions(+), 69 deletions(-) commit c8dcb690aacccf56d84195a2470da0aad74c9e29 Author: Matthias Clasen Date: Fri Sep 11 19:05:49 2015 -0400 css node: Avoid a duplicate type check gtk/gtkcssnode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2a6a841db1d318a8632bccafe0e45ce7979e60f6 Author: Matthias Clasen Date: Fri Sep 11 19:05:19 2015 -0400 widget path: No need for atomic refcounting We are all in one thread, anyway. gtk/gtkwidgetpath.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit 9546ce798b34efb8af2f875151fff96d8d0129eb Author: Matthias Clasen Date: Fri Sep 11 19:04:54 2015 -0400 css value: No need for atomic refcounting We are all in one thread anyway. gtk/gtkcssvalue.c | 5 +++-- gtk/gtkcssvalueprivate.h | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) commit fe1e2cbfad4448aadc10d2a8650836f5d9195e5f Author: Matthias Clasen Date: Fri Sep 11 19:04:07 2015 -0400 css section: No need for atomic refcounting We are all in one thread, anyway. gtk/gtkcsssection.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit 3eacfa88f2d9c690a006de9cac1cd3c60901686c Author: Matthias Clasen Date: Fri Sep 11 17:12:35 2015 -0400 Avoid type checking overhead for resize-mode gtk/gtkcontainer.c | 25 +++---------------------- gtk/gtkcontainerprivate.h | 28 ++++++++++++++++++++++++++++ gtk/gtkcsswidgetnode.c | 4 ++-- gtk/gtkwidget.c | 2 -- gtk/gtkwindow.c | 4 ++-- 5 files changed, 35 insertions(+), 28 deletions(-) commit 95cf550e150530d25659ef34c5e2d65e1d828923 Author: Matthias Clasen Date: Fri Sep 11 09:09:10 2015 -0400 window: Avoid unnecessary detours Don't call gtk_widget_get_screen on a window - it only ends up calling gtk_window_get_screen in the end, anyway. gtk/gtkwindow.c | 67 +++++++++++++++++++++++++++----------------------- gtk/gtkwindowprivate.h | 2 ++ 2 files changed, 38 insertions(+), 31 deletions(-) commit caa0ee3d252752be5623f7278ee0f0004fc1a728 Author: Matthias Clasen Date: Fri Sep 11 09:08:36 2015 -0400 Remove type check from gtk_widget_get_request_mode gtk/gtksizerequest.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) commit 09e4f753fd3dd9ccf4fbbe940e1cb909790d33c6 Author: Matthias Clasen Date: Fri Sep 11 09:07:37 2015 -0400 widget: Move _gtk_widget_peek_request_cache to private.h gtk/gtkwidget.c | 17 +---------------- gtk/gtkwidgetprivate.h | 8 +++++++- 2 files changed, 8 insertions(+), 17 deletions(-) commit 20c49b883763c1a8d0097425cdfb1eaf1e4df190 Author: Matthias Clasen Date: Thu Sep 10 22:04:31 2015 -0400 css node declaration: Avoid optional out parameters Always pass a pos to find_class, and avoid the if. gtk/gtkcssnodedeclaration.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) commit 29505af07fdf0950a5abd39d4e24d852ae242155 Author: Matthias Clasen Date: Thu Sep 10 20:43:21 2015 -0400 css node declaration: Fix a typo gtk/gtkcssnodedeclaration.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit bbeec3608fbeb1cbd056b7405ca0f2132f3bce16 Author: Matthias Clasen Date: Fri Sep 11 18:48:20 2015 -0400 css section: Replace g_return by gtk_internal_return gtk/gtkcsssection.c | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) commit a9b80a6391607f14a614b8d199c1f707e21185ea Author: Matthias Clasen Date: Fri Sep 11 16:30:07 2015 -0400 style cascade: Replace g_return by gtk_internal_return gtk/gtkstylecascade.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) commit 60ccda05975c63b178a76e53cd4ab5bf681cc22f Author: Matthias Clasen Date: Thu Sep 10 22:02:03 2015 -0400 css lookup: Replace g_return by gtk_internal return These functions are called in an inner loop in gtk_css_style_provider_lookup. gtk/gtkcsslookup.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) commit 83d68ea107bbeec96309608b6b18818d95ec35f9 Author: Matthias Clasen Date: Thu Sep 10 20:42:58 2015 -0400 css selector: Use a builtin to count bits gtk/gtkcssselector.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) commit a831f1fb112e342055428fc6ab8f825bb686a4b8 Author: Matthias Clasen Date: Thu Sep 10 20:42:07 2015 -0400 css matcher: Avoid a redundant call The sole caller passes an interned string, so we don't need to call g_intern_string again. gtk/gtkcssmatcher.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 11d3582333bb80546e0b94271c14be89069f2a0d Author: Matthias Clasen Date: Thu Sep 10 20:04:24 2015 -0400 css selector: Take advantage of interned strings We know these strings are interned, no need to use strcmp or g_str_hash for hem. gtk/gtkcssselector.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) commit 4654fa6efe539dcaae127beb49e569df91f5c3a4 Author: Matthias Clasen Date: Fri Sep 11 09:06:46 2015 -0400 bitmask: Trivial formatting fix gtk/gtkallocatedbitmask.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c86f0b1b237bf8ccc47a5a5399a8acc55e0eb1fd Author: Matthias Clasen Date: Thu Sep 10 18:48:29 2015 -0400 bitmask: Optimize no-op resizes Statistics for the gtk3-demo listbox example show that the vast majority of calls to _gtk_allocated_bitmask_resize go from a size of 2 to 2. Don't needlessly call realloc() in this case. gtk/gtkallocatedbitmask.c | 3 +++ 1 file changed, 3 insertions(+) commit 0957ba522008bc08631ee209b4dae8d7c5a7dce0 Author: Matthias Clasen Date: Thu Sep 10 18:46:58 2015 -0400 bitmask: Optimize intersect The functions was written in a way that would possibly resize the mask twice, which is not necessary. gtk/gtkallocatedbitmask.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) commit 3a503b7ba18b52d990c547c7980607ba65957753 Author: Matthias Clasen Date: Wed Sep 9 17:32:47 2015 -0400 widget-factory: Simplify the ui file demos/widget-factory/widget-factory.ui | 1664 ++++++++++++++++---------------- 1 file changed, 832 insertions(+), 832 deletions(-) commit 3b67184f86e07715d4537d7a27d70dbc41e74aea Author: Matthias Clasen Date: Wed Sep 9 17:34:32 2015 -0400 gtk-demo: Simplify ui files demos/gtk-demo/application.ui | 31 +- demos/gtk-demo/demo.ui | 145 ++++--- demos/gtk-demo/filtermodel.ui | 63 ++- demos/gtk-demo/font-features.ui | 848 ++++++++++++---------------------------- demos/gtk-demo/listbox.ui | 237 ++++------- demos/gtk-demo/main.ui | 102 ++--- demos/gtk-demo/modelbutton.ui | 64 ++- demos/gtk-demo/popover.ui | 29 +- demos/gtk-demo/revealer.ui | 38 +- demos/gtk-demo/scale.ui | 62 +-- demos/gtk-demo/spinbutton.ui | 55 ++- demos/gtk-demo/stack.ui | 37 +- demos/gtk-demo/theming.ui | 279 ++++++------- 13 files changed, 709 insertions(+), 1281 deletions(-) commit a53163366017937b82167fd2976a623e612964f0 Author: Matthias Clasen Date: Wed Sep 9 16:50:49 2015 -0400 Run gtk-builder-tool simplify over all templates gtk/gtk-builder-tool.c | 11 +- gtk/ui/gtkaboutdialog.ui | 168 ++++--------- gtk/ui/gtkactionbar.ui | 6 +- gtk/ui/gtkappchooserdialog.ui | 52 ++-- gtk/ui/gtkappchooserwidget.ui | 20 +- gtk/ui/gtkapplication-quartz.ui | 40 ++-- gtk/ui/gtkassistant.ui | 119 +++++----- gtk/ui/gtkcolorchooserdialog.ui | 22 +- gtk/ui/gtkcoloreditor.ui | 68 +++--- gtk/ui/gtkcombobox.ui | 7 +- gtk/ui/gtkdialog.ui | 13 +- gtk/ui/gtkfilechooserbutton.ui | 34 +-- gtk/ui/gtkfilechooserdialog.ui | 5 +- gtk/ui/gtkfilechooserwidget.ui | 180 +++++++------- gtk/ui/gtkfontbutton.ui | 24 +- gtk/ui/gtkfontchooserdialog.ui | 20 +- gtk/ui/gtkfontchooserwidget.ui | 77 +++--- gtk/ui/gtkinfobar.ui | 18 +- gtk/ui/gtklockbutton.ui | 26 +- gtk/ui/gtkmessagedialog.ui | 31 ++- gtk/ui/gtkpagesetupunixdialog.ui | 104 ++++---- gtk/ui/gtkpathbar.ui | 24 +- gtk/ui/gtkplacesview.ui | 175 +++++--------- gtk/ui/gtkplacesviewrow.ui | 41 +--- gtk/ui/gtkprintunixdialog.ui | 488 +++++++++++++++++++------------------- gtk/ui/gtkrecentchooserdefault.ui | 24 +- gtk/ui/gtkscalebutton.ui | 44 ++-- gtk/ui/gtksearchbar.ui | 31 ++- gtk/ui/gtksidebarrow.ui | 20 +- gtk/ui/gtkstatusbar.ui | 13 +- gtk/ui/gtkvolumebutton.ui | 22 +- 31 files changed, 887 insertions(+), 1040 deletions(-) commit 3c247f20eaf61ed69aba6ed529f62ba083dbfc05 Author: Matthias Clasen Date: Wed Sep 9 16:47:02 2015 -0400 gtk-builder-tool: Canonicalize booleans Always write booleans as '0' or '1'. gtk/gtk-builder-tool.c | 113 +++++++++++++++++++++++++++++++++++++------------ 1 file changed, 85 insertions(+), 28 deletions(-) commit 4b92f0895a4264b7ca3d03410e95e4791559cffd Author: Matthias Clasen Date: Wed Sep 9 16:52:11 2015 -0400 builder: Minor tweak gtk/gtkbuilder.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) commit c6a5a12922e99daff27b751d0ad6a0dfe13b8025 Author: Benjamin Otte Date: Sat Sep 12 02:59:38 2015 +0200 widgetpath: Implement using GtkCssNodeDeclaration This removes a bunch of code but more importantly allows providing the declaration in CSS matchers. gtk/gtkcssnodedeclaration.c | 15 ++ gtk/gtkcssnodedeclarationprivate.h | 1 + gtk/gtkwidgetpath.c | 309 +++++++++++-------------------------- 3 files changed, 103 insertions(+), 222 deletions(-) commit 610452dda87e4142114448cef99956fcda93ca2b Author: Benjamin Otte Date: Sat Sep 12 02:58:28 2015 +0200 cssnode: Move clear_classes() into the NodeDeclaration The previous code was crashing when used as the returned classes array would have been invalid after the first deletion. So if a 2nd class would be deleted, invalid memory might have been referenced. gtk/gtkcssnode.c | 10 +++------- gtk/gtkcssnodedeclaration.c | 15 +++++++++++++++ gtk/gtkcssnodedeclarationprivate.h | 1 + 3 files changed, 19 insertions(+), 7 deletions(-) commit 6118893a4ea75d9f94e5e68ed1c8e0ae73442926 Author: Garrett Regier Date: Fri Sep 11 09:46:34 2015 -0700 stylecontext: Fix list_classes() after optimization Otherwise a junk value is returned. gtk/gtkstylecontext.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 6d29c1db92ae36582955819ae4d927afc9abd9a0 Author: Garrett Regier Date: Fri Sep 11 09:45:32 2015 -0700 widgetpath: Remove bad function prototypes gtk/gtkwidgetpath.h | 8 -------- 1 file changed, 8 deletions(-) commit f92c861eec59c23ad16c0579b3be8242ab0ef2d7 Author: Benjamin Otte Date: Fri Sep 11 18:33:05 2015 +0200 iconcache: Guard deprecated gdk-pixbuf APIs gtk/gtkiconcachevalidator.c | 2 ++ gtk/updateiconcache.c | 4 ++++ 2 files changed, 6 insertions(+) commit 41b386cd6a84957dd9820083fa594090660c6a5d Author: Garrett Regier Date: Fri Sep 11 17:49:59 2015 +0200 cssnode: Optimize listing of classes Avoid creating the GList of strings when the GQuarks will just be determined again. Instead have gtk_style_context_list_classes() do it specifically. gtk/gtkcssnode.c | 42 ++++++++++++++++++-------------------- gtk/gtkcssnodedeclaration.c | 22 ++++++-------------- gtk/gtkcssnodedeclarationprivate.h | 3 ++- gtk/gtkcssnodeprivate.h | 3 ++- gtk/gtkstylecontext.c | 16 +++++++++++---- gtk/gtkwidget.c | 11 +++++----- gtk/gtkwidgetpath.c | 19 +++++++++-------- gtk/gtkwidgetpath.h | 14 +++++++++++++ 8 files changed, 72 insertions(+), 58 deletions(-) commit 44460cd7207692e73f4374865a34314800ec2856 Author: Garrett Regier Date: Fri Sep 11 16:13:45 2015 +0200 container: Don't add classes twice _gtk_widget_create_path() already adds the style classes. gtk/gtkcontainer.c | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) commit 4539804086b464fa12adbb76a36c339bc69c9e3b Author: Alberts Muktupāvels Date: Fri Sep 11 12:49:51 2015 +0300 gtkplug.c: remove draw function, not needed Background will be rendered by parent class - GtkWindow. https://bugzilla.gnome.org/show_bug.cgi?id=754854 gtk/gtkplug.c | 15 --------------- 1 file changed, 15 deletions(-) commit 838391e420a0d2bf274e63a590791257ba655cbf Author: Michael Weghorn Date: Thu Aug 13 22:31:28 2015 +0200 Improve printer distinction for option retrieval In order to retrieve the user options for a printer, the respective printer name is used. This fixes the comparison of printer names to avoid that the options of another printer are accidently read whose name starts with the same letters, but is longer (e.g. "myprinterlongername" instead of "myprinter"). This fixes Bug 753628. modules/printbackends/cups/gtkprintbackendcups.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 3ffef0ca03993cb6995948183b250c8c59d9944c Author: Jakub Steiner Date: Fri Sep 11 12:39:08 2015 +0200 HighContrast: make sidebar list rows taller sync with Adwaita https://bugzilla.gnome.org/show_bug.cgi?id=754866 gtk/theme/HighContrast/_common.scss | 2 +- gtk/theme/HighContrast/gtk.css | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 4993b02da8746c9171540d4f08897c6252a46490 Author: Ross Lagerwall Date: Tue Sep 8 23:12:54 2015 +0100 GtkFileSystem: Add to the list of remote filesystems Add afp and google-drive to the list of remote filesystems. https://bugzilla.gnome.org/show_bug.cgi?id=754746 gtk/gtkfilesystem.c | 2 ++ 1 file changed, 2 insertions(+) commit f90b97cf0e879fcc7e5f4ec0dec3274e0c4b4170 Author: Dušan Kazik Date: Thu Sep 10 16:26:56 2015 +0000 Updated Slovak translation po-properties/sk.po | 1910 +++++++++++++++++++++++++-------------------------- 1 file changed, 943 insertions(+), 967 deletions(-) commit a6982cc76ea0528962ddc76171f01f8073c06c59 Author: Timm Bäder Date: Thu Sep 10 11:47:34 2015 +0200 GtkWidget: Fix typo in #ifdef It's ENABLE, not ENABEL. Also fix the corresponding #endif comments. gtk/gtkwidget.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 3900700479ec0706b3b4f091b726dfbd53eed5f6 Author: Timm Bäder Date: Thu Sep 10 11:34:44 2015 +0200 GtkContainer: Fix paramter name in doc comment gtk/gtkcontainer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit cf0e087527f4fdc1c79649bc75361eb2e7e994f8 Author: Matthias Clasen Date: Wed Sep 9 14:40:36 2015 -0400 Optimize gtk_css_node_declaration_has_class This function is getting called a lot. Statistics for the gtk3-demo listbox example show most calls with 0-4 classes. Unrolling the cases a bit brings the instruction count in callgrind from 93M to 52M. gtk/gtkcssnodedeclaration.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) commit 59797754b47214a1268a20bdda99afbf5d3d93fb Author: Matthias Clasen Date: Wed Sep 9 14:09:21 2015 -0400 More bit manipulation speedups The same trick that was applied to _gtk_css_change_for_child in the previous commit can be applied to _gtk_css_change_for_sibling as well, and that is what this commit does. With both functions converted, gtk_css_change_translate is no longer needed and gets dropped. gtk/gtkcsstypes.c | 56 +++++++++++++++++-------------------------------------- 1 file changed, 17 insertions(+), 39 deletions(-) commit d7dd6eccd500402ac51c2a3d2b8f768acfa75d4a Author: Matthias Clasen Date: Wed Sep 9 14:00:49 2015 -0400 Manipulate bits more efficiently The function to translate GtkCssChange enum values to the PARENT ones is called very frequently. This patch speeds it up tremendously. The callgrind instruction count for this function in the listbox demo goes from 108M to 7M. gtk/gtkcsstypes.c | 42 ++++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 22 deletions(-) commit a9481cb410c6e2c1b516b282909d04f9ec1d61c4 Author: Matthias Clasen Date: Wed Sep 9 11:08:43 2015 -0400 match_all: Only allocate an array when needed My statistics show that more than half of all calls end up with 0 matches, so we can avoid some overhead by not allocating an array at all in this case. gtk/gtkcssselector.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) commit 2d29ae4159a084262e3aefd79d61987476e54a91 Author: Matthias Clasen Date: Wed Sep 9 10:55:31 2015 -0400 Handle match_all returning NULL This is in preparation for not allocating an array at all if there are no matches. gtk/gtkcssprovider.c | 130 +++++++++++++++++++++++++++------------------------ 1 file changed, 68 insertions(+), 62 deletions(-) commit 117b50f8fb033eb47335abc2743adec71f3d9d41 Author: Matthias Clasen Date: Wed Sep 9 10:46:48 2015 -0400 Optimize gtk_css_selector_match_all We are dealing with really short lists here. 95% are < 10 matches, and the longest I've been able to record was 19. So just do away with the hash table and do sorted insertion in the array directly. gtk/gtkcssselector.c | 51 ++++++++++++++++++++++----------------------------- 1 file changed, 22 insertions(+), 29 deletions(-) commit dbf85cc4dba2d659c65f18caadad256304a1f5d1 Author: Carlos Garnacho Date: Wed Sep 9 16:05:15 2015 +0200 x11: Declare variable for the inner loop Otherwise the outer loop control variable is messed up, and we end up with uninitialized axes if there were any more valuators after the XIKeyClass one. This bug was sneakily introduced by fdb9a8e14, many thanks to Carlos Soriano for helping spot the source of this bug. https://bugzilla.gnome.org/show_bug.cgi?id=753431 gdk/x11/gdkdevicemanager-xi2.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit f7894a758897afb5f47d0d4b9043b6396e839bda Author: Lapo Calamandrei Date: Tue Sep 8 20:10:51 2015 +0200 Adwaita: special case selection mode lists checks ...otherwise the special selection mode 40x40px checks are used shrinked to 16x16. See https://bugzilla.gnome.org/show_bug.cgi?id=754610 gtk/theme/Adwaita/_common.scss | 18 +++++++++--------- gtk/theme/Adwaita/gtk-contained-dark.css | 30 +++++++++++++++--------------- gtk/theme/Adwaita/gtk-contained.css | 30 +++++++++++++++--------------- 3 files changed, 39 insertions(+), 39 deletions(-) commit d52da391835d615c3c7024010db5ade414f55ae2 Author: Matthias Clasen Date: Wed Sep 9 10:20:07 2015 -0400 Update the gtk3-demo man page We have options now ! docs/reference/gtk/gtk3-demo.xml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) commit 23d7c3d4351c37b1899e26dd2ce08e5346c714e7 Author: Matthias Clasen Date: Wed Sep 9 10:14:17 2015 -0400 gtk-demo:Add a --list option This just shows the available examples and then exists. demos/gtk-demo/main.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) commit bce8d771a2643d9c8a9a0c4b1343202cf90368fb Author: Matthias Clasen Date: Wed Sep 9 08:07:20 2015 -0400 gtk-demo: Make --autoquit a simple option No real need to specify the amount of delay, just make this a plain boolean. demos/gtk-demo/main.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 9da0aa5d4071df88568555f303ad440e3230ddde Author: Matthias Clasen Date: Wed Sep 9 00:51:45 2015 -0400 Use G_ENABLE_CONSISTENCY_CHECKS for template finalization checks gtk/gtkwidget.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 0e86278fcc30613dab0358aa5d55a09afc5cb722 Author: Matthias Clasen Date: Wed Sep 9 00:38:48 2015 -0400 css selector: Use the quarks we have Unless I'm missing something, there is no reason to go from quarks back to strings to implement hasing or comparison. gtk/gtkcssselector.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) commit c8072c89ba30ba32325cfc37180f7c5336d5a772 Author: Matthias Clasen Date: Tue Sep 8 23:21:17 2015 -0400 style provider private: Use gtk_internal_return_if_fail gtk/gtkstyleproviderprivate.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) commit 3526b08e01bd5290316d15a60870516c9f3bacc6 Author: Matthias Clasen Date: Tue Sep 8 22:48:44 2015 -0400 Clean up debug features Introduce a GTK_DEBUG_CHECK() macro and use it to check for GTK_DEBUG flags everywhere. Also guard all such places by gtk/gtkbuilder.c | 4 +-- gtk/gtkbuilderparser.c | 2 +- gtk/gtkcssnode.c | 4 ++- gtk/gtkdebug.h | 7 ++++-- gtk/gtkiconcache.c | 5 ++-- gtk/gtkpixelcache.c | 4 +-- gtk/gtkprintjob.c | 5 ++-- gtk/gtkrbtree.c | 60 ++++++++++++++++++++++---------------------- gtk/gtktextbtree.c | 67 ++++++++++++++++++++++++++++++++++---------------- gtk/gtktextiter.c | 2 +- gtk/gtktextview.c | 4 ++- gtk/gtktreestore.c | 7 ++++-- gtk/gtkwidget.c | 8 +++--- 13 files changed, 107 insertions(+), 72 deletions(-) commit 1b15588732f2c4e3c59994a59613d4e5c963e283 Author: Matthias Clasen Date: Tue Sep 8 21:08:20 2015 -0400 widget: Use G_ENABLE_CONSISTENCY_CHECKS for invariants checking The logic here is that G_ENABLE_DEBUG is for compiling out debug spew that can be triggered at runtime with the GTK_DEBUG environment variable, while G_ENABLE_CONSISTENCY_CHECKS is for consistency checks that are applied unconditionally. gtk/gtkwidget.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit bf9a72976fed44d7ffc074896c8e948d975e94b6 Author: Matthias Clasen Date: Tue Sep 8 21:06:38 2015 -0400 size request: Redo the recursion checks Use G_ENABLE_CONSISTENCY checks for the recursion checks in gtksizerequest.c gtk/gtksizerequest.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) commit f114d9c82405a1a5575e65c0f960b5c2b47b6259 Author: Matthias Clasen Date: Tue Sep 8 21:20:00 2015 -0400 Introduce G_ENABLE_CONSISTENCY_CHECKS Use a separate G_ENABLE_CONSISTENCY_CHECKS define to guard internal consistency checks that are applied unconditionally if they are enabled, such as the widget invariants checking. Interactive debug spew that can be triggered at runtime with the GTK_DEBUG environment variable is still guarded by the G_ENABLE_DEBUG define. The mapping from enable-debug levels to defines is as follows: yes: G_ENABLE_DEBUG G_ENABLE_CONSISTENCY_CHECKS minimum: G_ENABLE_DEBUG G_DISABLE_CAST_CHECKS no: G_DISABLE_CAST_CHECKS G_DISABLE_ASSERT G_DISABLE_CHECKS configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f4b53d4b0c4a79ee8668cfbe2480c0a51c55f53b Author: Matthias Clasen Date: Tue Sep 8 20:55:32 2015 -0400 notebook: Drop use of G_DISABLE_CHECKS Rewrite the one check that the G_DISABLE_CHECKS macro was used for in terms of g_return_if_fail. gtk/gtknotebook.c | 87 +++++++++++++++++++------------------------------------ 1 file changed, 30 insertions(+), 57 deletions(-) commit ff530ae3219a7188c05d567fdafeb807b244b7a7 Author: Matthias Clasen Date: Tue Sep 8 20:39:52 2015 -0400 Drop an unused warning It has been ifzeroed for many, many years. gtk/gtkwidget.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) commit 6f2fcce4949d5b7122a2eb1968b0b95f36543cf4 Author: Matthias Clasen Date: Tue Sep 8 20:30:22 2015 -0400 Use a getter for widget direction gtk/gtkcontainer.c | 2 +- gtk/gtkwidget.c | 26 +++++++++++++------------- gtk/gtkwidgetprivate.h | 11 +++++++++++ 3 files changed, 25 insertions(+), 14 deletions(-) commit b8e82a1548f99a40f1bce94f3e9bcb65ddaca3f0 Author: Matthias Clasen Date: Tue Sep 8 20:27:50 2015 -0400 settings: Reuse a value We've already gotten the value type, use it. gtk/gtksettings.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 96d66a11cfe3914883a32fff8941f23f624527b4 Author: Matthias Clasen Date: Tue Sep 8 20:24:29 2015 -0400 builder: Avoid some type-checking overhead gtk/gtkbuilder.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 389ae3e0226533680acf67c6f62d3c3bdee1e4e2 Author: Matthias Clasen Date: Tue Sep 8 19:29:32 2015 -0400 settings: Avoid a redundant check g_value_transform already returns whether it was successful or not, so no need to call g_value_type_transformable beforehand. gdk/x11/gdkscreen-x11.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) commit 17053e1f77511c9ff1da42695c2b71ff9259ef94 Author: Claude Paroz Date: Wed Sep 9 09:21:55 2015 +0200 Updated po-properties French translation po-properties/fr.po | 3326 +++++++++++++++++++++++++++------------------------ 1 file changed, 1760 insertions(+), 1566 deletions(-) commit 50983101d4b721c4ab6ae9c2c76b420a23b8320b Author: Lapo Calamandrei Date: Tue Sep 8 22:12:12 2015 +0200 Adwaita: set -GtkRange-trough-border: 0 for scrollbars which fixes firefox scrollbar not being fittsy when maximixed. gtk/theme/Adwaita/_common.scss | 2 +- gtk/theme/Adwaita/gtk-contained-dark.css | 2 +- gtk/theme/Adwaita/gtk-contained.css | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) commit eef64df5f2684874eb1eb22a48e637585602b02f Author: Jakub Steiner Date: Tue Sep 8 17:22:10 2015 +0200 HighContrast: remove edge highlight https://bugzilla.gnome.org/show_bug.cgi?id=754551 gtk/theme/HighContrast/_common.scss | 1 + gtk/theme/HighContrast/gtk.css | 2 ++ 2 files changed, 3 insertions(+) commit f7c0fcd074894a3c85e5d65feeefc61827c0ea36 Author: Matthias Clasen Date: Tue Sep 8 08:07:05 2015 -0400 widget path: Use gtk_internal_return_if_fail gtk/gtkwidgetpath.c | 139 ++++++++++++++++++++++++++-------------------------- 1 file changed, 70 insertions(+), 69 deletions(-) commit 38e5a805dc58d82f47541697c2f336b68eed89f8 Author: Matthias Clasen Date: Tue Sep 8 08:06:17 2015 -0400 css style property: Use gtk_internal_return_if_fail gtk/gtkcssstyleproperty.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) commit e7a266ad95325d7407f1a478fab4749d034606c8 Author: Matthias Clasen Date: Tue Sep 8 06:15:12 2015 -0400 css color: Use gtk_internal_return_if_fail gtk/gtkcsscolorvalue.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) commit 9cd302407f8e86b65534b0226afc83e3eb3fbe02 Author: Matthias Clasen Date: Tue Sep 8 06:14:38 2015 -0400 allocated bitmask: Use gtk_internal_return_if_fail gtk/gtkallocatedbitmask.c | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) commit 0368cbd2569877902a2cdac7053ad3295d088077 Author: Matthias Clasen Date: Tue Sep 8 06:14:07 2015 -0400 window: Use internal more internal getters gtk/gtkwindow.c | 51 +++++++++++++++++++++++---------------------------- 1 file changed, 23 insertions(+), 28 deletions(-) commit 2255400db16788187cfc837ce1eee6a37e91dae6 Author: Matthias Clasen Date: Tue Sep 8 06:13:23 2015 -0400 Trivial cleanup gtk/gtkwidget.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) commit 64573ea9791ac2cf4f107b2461ab04dd47e0ab77 Author: Matthias Clasen Date: Mon Sep 7 21:58:34 2015 -0400 widget: Use g_param_spec_get_name_quark gtk/gtkwidget.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0bee97de5c21c61a6392601758bf5d25bd325325 Author: Matthias Clasen Date: Mon Sep 7 18:53:25 2015 -0400 stack: Convert to gtk_container_child_notify_by_pspec gtk/gtkstack.c | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-) commit 838d5beff7397c064110a891b0edf245c95bd299 Author: Matthias Clasen Date: Mon Sep 7 18:53:06 2015 -0400 notebook: Convert to g_object_notify_by_pspec gtk/gtknotebook.c | 127 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 65 insertions(+), 62 deletions(-) commit 2580c050d8a9eb167628058cb74c25d015068203 Author: Matthias Clasen Date: Mon Sep 7 18:27:32 2015 -0400 grid: Convert to gtk_container_child_notify_by_pspec For the same reasons as g_object_child_notify_by_pspec. gtk/gtkgrid.c | 39 ++++++++++++++++++++++++++------------- 1 file changed, 26 insertions(+), 13 deletions(-) commit 1e4369e8ef0dc7eab9d27990c69de7bbf69ccf4f Author: Matthias Clasen Date: Mon Sep 7 18:27:02 2015 -0400 box: Convert to gtk_container_child_notify_by_pspec For the same reasons as g_object_child_notify_by_pspec. gtk/gtkbox.c | 99 +++++++++++++++++++++++++++++++----------------------------- 1 file changed, 52 insertions(+), 47 deletions(-) commit 93f8f12e3933524c86fec4c495017ce13c80b8d1 Author: Matthias Clasen Date: Mon Sep 7 18:10:56 2015 -0400 Add some more child property API Add gtk_container_install_child_properties and gtk_container_child_notify_by_pspec to mirror te corresponding GObject APIs. docs/reference/gtk/gtk3-sections.txt | 2 + gtk/gtkcontainer.c | 199 ++++++++++++++++++++++++++--------- gtk/gtkcontainer.h | 9 ++ 3 files changed, 161 insertions(+), 49 deletions(-) commit e3025f2325ee0193313f3fec655cbfc780609c6a Author: Matthias Clasen Date: Mon Sep 7 15:55:58 2015 -0400 scrolled window: Convert to g_object_notify_by_pspec gtk/gtkscrolledwindow.c | 193 +++++++++++++++++++++++------------------------- 1 file changed, 92 insertions(+), 101 deletions(-) commit 7cb53685cf7dd77614a5f22c235efd414ad4da3c Author: Matthias Clasen Date: Mon Sep 7 15:55:34 2015 -0400 app chooser button: Convert to g_object_notify_by_pspec gtk/gtkappchooserbutton.c | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) commit 4785f460d377c8bd277323b43e5a978d7a7c4518 Author: Matthias Clasen Date: Mon Sep 7 15:55:02 2015 -0400 settings: Convert more fully to g_object_notify_by_pspec It turns out that we always have the pspec at hand already. gtk/gtksettings.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 4e8b841fd2815f51d8384a2b472f1374b88c2518 Author: Kjartan Maraas Date: Mon Sep 7 20:41:48 2015 +0200 Updated Norwegian bokmål translation. po/nb.po | 248 ++++++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 143 insertions(+), 105 deletions(-) commit 97a29ab8c45413c232ec5244b9c2a1df8e89ce36 Author: Matthias Clasen Date: Mon Sep 7 12:54:16 2015 -0400 builder: Simplify _gtk_builder_boolean_from_string We can do this without calling strlen() or allocating memory. gtk/gtkbuilder.c | 40 +++++++++++++++++----------------------- 1 file changed, 17 insertions(+), 23 deletions(-) commit 3d01f29bd9ce1322a0dc6043ba01d9ba9b4ef7ab Author: Matthias Clasen Date: Mon Sep 7 12:43:19 2015 -0400 builder: Move a function Move _gtk_builder_boolean_from_string in the same source file as the other _from_functions. gtk/gtkbuilder.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ gtk/gtkbuilderparser.c | 46 ---------------------------------------------- 2 files changed, 46 insertions(+), 46 deletions(-) commit 20079a9960778e320a0028316a565fd2cffc3c38 Author: Matthias Clasen Date: Mon Sep 7 12:25:29 2015 -0400 builder: Minor refactoring Keep the GString in PropertyInfo around, instead of throwing it away and just keeping the char*. gtk/gtkbuilder.c | 12 ++++++------ gtk/gtkbuilderparser.c | 5 +---- gtk/gtkbuilderprivate.h | 1 - 3 files changed, 7 insertions(+), 11 deletions(-) commit 15b9feda22279e32578bd1e1c062bb401cc99a5c Author: Matthias Clasen Date: Mon Sep 7 12:23:09 2015 -0400 widget: Add more inline getters Add a getter for state flags, and use it where appropriate. gtk/gtkwidget.c | 6 +++--- gtk/gtkwidgetprivate.h | 6 ++++++ gtk/gtkwindow.c | 28 ++++++++++++++-------------- 3 files changed, 23 insertions(+), 17 deletions(-) commit 9b494df91e2429b202602a8c613d9aa82270011d Author: Matthias Clasen Date: Mon Sep 7 11:34:41 2015 -0400 settings: Avoid one case of g_object_notify We already have the GParamSpec in hands, lets just use it instead of looking it up again. gtk/gtksettings.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7cd7257a079166ae56e719d4f60e027247cda617 Author: Matthias Clasen Date: Mon Sep 7 11:34:08 2015 -0400 Avoid a string copy We have an api to create a quark from a static string, lets use it. gtk/gtkcssstaticstyle.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e1ecdd3ef5f766e5e61c485fcb9bc33508c94b54 Author: Benjamin Otte Date: Sun Sep 6 01:13:44 2015 +0200 treeview: Donate a priv variable to gtk_tree_view_init() gtk/gtktreeview.c | 114 +++++++++++++++++++++++++++--------------------------- 1 file changed, 58 insertions(+), 56 deletions(-) commit 4daac59941dc8d4a8f2278a3150d4f350fc73cd6 Author: Benjamin Otte Date: Sat Sep 5 22:36:20 2015 +0200 notebook: Don't needlessly cast in macros That way we disable typechecks done by the compiler and won't notice when we pass the wrong values to the macro. And that's bad. gtk/gtknotebook.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit f138efa59add022d92a149cbbd99e10c3795ed32 Author: Benjamin Otte Date: Sat Sep 5 22:34:37 2015 +0200 notebook: Remove unused macros gtk/gtknotebook.c | 4 ---- 1 file changed, 4 deletions(-) commit 9020b5bd17889e1343890d124c52cd07fadf0b5b Author: Benjamin Otte Date: Sat Sep 5 06:46:29 2015 +0200 stylecontext: Remove line that is a no-op Creating the transient node will already copy the widget type. So copying again will not do anything. gtk/gtkstylecontext.c | 1 - 1 file changed, 1 deletion(-) commit c8c666c87c827323a128264ecf1943f8107713f9 Author: Benjamin Otte Date: Mon Sep 7 14:31:26 2015 +0200 bitmask: Fix broken invert_range() implementation The speed-up in 7da1f8a1ce145f48b6299fd8be86a64389ff0b0d was wrong in certain conditions, even though it didn't trigger the existing testsuite. New testcase /bitmask/invert_range_hardcoded included. gtk/gtkallocatedbitmask.c | 18 ++++++------------ testsuite/gtk/bitmask.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 12 deletions(-) commit f5fe1e3a06b6ea9160f9b05aaadd228a813bafb9 Author: Matthias Clasen Date: Mon Sep 7 03:18:04 2015 -0400 Avoid an extra type check in gdk_screen_get_default Just go through the vfunc directly. gdk/gdkdisplaymanager.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 0f92a43e106d31eddce63dcdf6519479361fff13 Author: Matthias Clasen Date: Sun Sep 6 19:58:03 2015 -0400 Move GtkWidgetPrivate to gtkwidgetprivate.h This lets us use inlined getters for members in there, avoiding the type checks in the public getters. gtk/gtkbox.c | 44 +++--- gtk/gtkcontainer.c | 58 ++++---- gtk/gtkcsswidgetnode.c | 4 +- gtk/gtkgrid.c | 38 ++--- gtk/gtksizegroup.c | 10 +- gtk/gtksizerequest.c | 2 +- gtk/gtkstylecascade.c | 7 +- gtk/gtkwidget.c | 367 +++++++++++++++++-------------------------------- gtk/gtkwidgetprivate.h | 178 ++++++++++++++++++++++++ gtk/gtkwindow.c | 88 ++++++------ 10 files changed, 426 insertions(+), 370 deletions(-) commit 7da1f8a1ce145f48b6299fd8be86a64389ff0b0d Author: Matthias Clasen Date: Mon Sep 7 01:55:16 2015 -0400 Speed up gtk_allocated_bit_mask_invert_range It was showing up on profiles and has a comment asking for speed. gtk/gtkallocatedbitmask.c | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) commit 4dc47c37145509d63482f11a39ec0bab559421c1 Author: Matthias Clasen Date: Sun Sep 6 19:16:43 2015 -0400 Plug a leak A type class reference gotten with g_type_class_ref must be released with g_type_class_unref, or else we leak. gtk/gtkcsswidgetnode.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) commit 32001ec63854bfa0c11e4de319be41b14b2c44d7 Author: Matthias Clasen Date: Sun Sep 6 16:10:48 2015 -0400 menu button: Convert to g_object_notify_by_pspec This avoids pspec lookup overhead in g_object_notify. gtk/gtkmenubutton.c | 104 ++++++++++++++++++++++++++-------------------------- 1 file changed, 52 insertions(+), 52 deletions(-) commit 29b9d48a1f42538d58fe45fc2771049f38f3c835 Author: Matthias Clasen Date: Sun Sep 6 16:10:31 2015 -0400 container: Convert to g_object_notify_by_pspec This avoids pspec lookup overhead in g_object_notify. gtk/gtkcontainer.c | 58 +++++++++++++++++++++++++++++------------------------- 1 file changed, 31 insertions(+), 27 deletions(-) commit 943c75fbecb3476bf29c48b0dbfd615b4c4cc139 Author: Matthias Clasen Date: Sun Sep 6 15:58:00 2015 -0400 frame: Convert to g_object_notify_by_pspec This avoids pspec lookup overhead in g_object_notify. gtk/gtkframe.c | 97 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 49 insertions(+), 48 deletions(-) commit c0d9e3a1ad53c13666ce3d3fcfb7cc14465cba39 Author: Matthias Clasen Date: Sun Sep 6 15:43:01 2015 -0400 menu item: Convert to g_object_notify_by_pspec This avoids pspec lookup overhead in g_object_notify. gtk/gtkmenuitem.c | 84 +++++++++++++++++++++++++++---------------------------- 1 file changed, 42 insertions(+), 42 deletions(-) commit 8ee711bbc90afa3104dc0154cd76db9914bd5021 Author: Matthias Clasen Date: Sun Sep 6 15:38:14 2015 -0400 text buffer: Convert to g_object_notify_by_pspec This avoids pspec lookup overhead in g_object_notify. gtk/gtktextbuffer.c | 107 ++++++++++++++++++++++++++-------------------------- 1 file changed, 53 insertions(+), 54 deletions(-) commit 65be0f5be92df2d7ee486fc10f758b06a1fded97 Author: Matthias Clasen Date: Sun Sep 6 15:31:37 2015 -0400 text cell renderer: Convert to g_object_notify_by_pspec This avoids pspec lookup overhead in g_object_notify. gtk/gtkcellrenderertext.c | 697 +++++++++++++++++++++------------------------- 1 file changed, 318 insertions(+), 379 deletions(-) commit 14c0ed8bae2b83b4da97f443f188970c3a9a1707 Author: Matthias Clasen Date: Sun Sep 6 15:04:19 2015 -0400 builder: Convert to g_object_notify_by_pspec This avoids pspec lookup overhead in g_object_notify. gtk/gtkbuilder.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) commit 2e52310d4b0c1871ffe673c6ff42e236ef88c7e6 Author: Matthias Clasen Date: Sun Sep 6 15:02:34 2015 -0400 gdk window: Convert to g_object_notify_by_pspec This avoids pspec lookup overhead in g_object_notify. gdk/gdkwindow.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) commit 4307fff67775e2f86d032a44f30c98ee3e60f097 Author: Matthias Clasen Date: Sun Sep 6 15:01:06 2015 -0400 device: Convert to g_object_notify_by_pspec This avoids pspec lookup overhead in g_object_notify. gdk/gdkdevice.c | 190 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 96 insertions(+), 94 deletions(-) commit c60362ab100af06c60c55a07e77cc91b4b016d20 Author: Matthias Clasen Date: Sun Sep 6 12:35:12 2015 -0400 tree view column: Convert to g_object_notify_by_pspec This avoids pspec lookup overhead in g_object_notify. gtk/gtktreeviewcolumn.c | 345 +++++++++++++++++++++++------------------------- 1 file changed, 166 insertions(+), 179 deletions(-) commit 3077a7e025dd57071bdddaacd17c0a4d5fb06295 Author: Matthias Clasen Date: Sun Sep 6 10:46:38 2015 -0400 gesture single: Convert to g_object_notify_by_pspec This avoids pspec lookup overhead in g_object_notify. gtk/gtkgesturesingle.c | 57 +++++++++++++++++++++++++------------------------- 1 file changed, 29 insertions(+), 28 deletions(-) commit 89ca0db7c5c17017b1b6e32c0682dd43ecd738a0 Author: Matthias Clasen Date: Sun Sep 6 10:46:15 2015 -0400 event controller: Convert to g_object_notify_by_pspec This avoids pspec lookup overhead in g_object_notify. gtk/gtkeventcontroller.c | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) commit 143d3c12049ab672fb62010fabba997c77cb5f06 Author: Matthias Clasen Date: Sun Sep 6 10:46:00 2015 -0400 radio button: Convert to g_object_notify_by_pspec This avoids pspec lookup overhead in g_object_notify. gtk/gtkradiobutton.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) commit 0e4589d902ee30c77c14dd2e226a568c71e3183a Author: Matthias Clasen Date: Sun Sep 6 10:45:33 2015 -0400 toggle button: Convert to g_object_notify_by_pspec This avoids pspec lookup overhead in g_object_notify. gtk/gtktogglebutton.c | 57 ++++++++++++++++++++++++++------------------------- 1 file changed, 29 insertions(+), 28 deletions(-) commit 4c376d1a9ce4ee956c72165e0cc98b66e7e1f595 Author: Matthias Clasen Date: Sun Sep 6 10:45:03 2015 -0400 style context: Convert to g_object_notify_by_pspec This avoids pspec lookup overhead in g_object_notify. gtk/gtkstylecontext.c | 71 +++++++++++++++++++++++++++------------------------ 1 file changed, 37 insertions(+), 34 deletions(-) commit 2da31e53b0abaf2d9a23e38d88b9bea1508b74fa Author: Matthias Clasen Date: Sun Sep 6 10:44:30 2015 -0400 treeview: Convert to g_object_notify_by_pspec This avoids pspec lookup overhead in g_object_notify. gtk/gtktreeview.c | 312 ++++++++++++++++++++++++++---------------------------- 1 file changed, 151 insertions(+), 161 deletions(-) commit dfe1c63c9b92ae64bdd0cac7bf57261363c4ec17 Author: Matthias Clasen Date: Sun Sep 6 10:43:34 2015 -0400 scale: Convert to g_object_notify_by_pspec This avoids pspec lookup overhead in g_object_notify. gtk/gtkscale.c | 75 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 38 insertions(+), 37 deletions(-) commit c3038c2fe146fddb1d75181eb7fb2f3dc60c6c3c Author: Matthias Clasen Date: Sun Sep 6 10:42:50 2015 -0400 range: Convert to g_object_notify_by_pspec This avoids pspec lookup overhead in g_object_notify. gtk/gtkrange.c | 151 +++++++++++++++++++++++++++------------------------------ 1 file changed, 72 insertions(+), 79 deletions(-) commit 661e51a8e24ae00e10873abc044e442fff3ff9c1 Author: Matthias Clasen Date: Sun Sep 6 10:41:43 2015 -0400 header bar: Use g_object_notify_by_pspec This avoids pspec lookup overhead in g_object_notify. gtk/gtkheaderbar.c | 141 ++++++++++++++++++++++++++--------------------------- 1 file changed, 68 insertions(+), 73 deletions(-) commit 38901acea3601499b2a5cf4d35fc369d311adf8d Author: Matthias Clasen Date: Sun Sep 6 10:40:46 2015 -0400 image: Convert to g_object_notify_by_pspec This avoids pspec lookup overhead in g_object_notify. gtk/gtkimage.c | 264 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 128 insertions(+), 136 deletions(-) commit 5f458e40024537cbeece27585282965b9a3f7a28 Author: Matthias Clasen Date: Sun Sep 6 10:39:57 2015 -0400 list box: Use g_object_notify_by_pspec everywhere We already have the pspec at hand, so use it. gtk/gtklistbox.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit f4068288e720844455ebefccbd31ad802a155470 Author: Matthias Clasen Date: Sat Sep 5 22:35:22 2015 -0400 entry completion: Convert to g_object_notify_by_pspec This avoid pspec lookup overhead in g_object_notify. gtk/gtkentrycompletion.c | 154 +++++++++++++++++++++++------------------------ 1 file changed, 75 insertions(+), 79 deletions(-) commit e83ccecfabf918d253d98f0a2907400bc420cc65 Author: Matthias Clasen Date: Sat Sep 5 22:34:51 2015 -0400 entry buffer: Convert to g_object_notify_by_pspec This avoids pspec lookup overhead in g_object_notify. gtk/gtkentrybuffer.c | 54 +++++++++++++++++++++++++++------------------------- 1 file changed, 28 insertions(+), 26 deletions(-) commit dbd5513276fab6c7d19b7b0bb51441d7c7ff0ef7 Author: Matthias Clasen Date: Sat Sep 5 22:34:13 2015 -0400 entry: Convert to g_object_notify_by_pspec This avoids pspec lookup overhead in g_object_notify. gtk/gtkentry.c | 976 +++++++++++++++++++++++++++------------------------------ 1 file changed, 470 insertions(+), 506 deletions(-) commit 0585780de1d4321409243478f02f265d34194931 Author: Matthias Clasen Date: Sat Sep 5 10:44:27 2015 -0400 application: Convert to g_object_notify_by_pspec This avoid pspec lookup overhead in g_object_notify. gtk/gtkapplication.c | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) commit bfe141c01185d5f1e9532473a8e3725281b87feb Author: Matthias Clasen Date: Sat Sep 5 03:59:28 2015 -0400 progressbar: Convert to g_object_notify_by_pspec This avoids pspec lookup overhead in g_object_notify. gtk/gtkprogressbar.c | 111 ++++++++++++++++++++++++++------------------------- 1 file changed, 56 insertions(+), 55 deletions(-) commit 97b8c2c0aab15dc6476b2a66f8a05b2ea1f6e379 Author: Matthias Clasen Date: Sat Sep 5 03:58:50 2015 -0400 label: Convert to g_object_notify_by_pspec This avoids pspec lookup overhead in g_object_notify. gtk/gtklabel.c | 427 +++++++++++++++++++++++++++------------------------------ 1 file changed, 205 insertions(+), 222 deletions(-) commit fbc00120222c3d0b048432cd99c06d936bad1d53 Author: Matthias Clasen Date: Sat Sep 5 03:58:15 2015 -0400 adjustment: Convert to g_object_notify_by_pspec This avoids pspec lookup overhead in g_object_notify. gtk/gtkadjustment.c | 105 ++++++++++++++++++++++++---------------------------- 1 file changed, 49 insertions(+), 56 deletions(-) commit 3906d21f2f99570850a82ea741fb3b292bb17b31 Author: Matthias Clasen Date: Sat Sep 5 02:16:58 2015 -0400 widget: Convert to g_object_notify_by_pspec This avoids pspec lookup overhead in g_object_notify. gtk/gtkwidget.c | 693 +++++++++++++++++++++++++++----------------------------- 1 file changed, 332 insertions(+), 361 deletions(-) commit f3d92735ac6dd0bba1a310629378fe0958aeb4e3 Author: Matthias Clasen Date: Sat Sep 5 01:27:52 2015 -0400 window: Convert to g_object_notify_by_pspec This avoids pspec lookup overhead in g_object_notify. gtk/gtkwindow.c | 578 ++++++++++++++++++++++++++------------------------------ 1 file changed, 272 insertions(+), 306 deletions(-) commit 4e56dfad0e33187d019c44ecfb5e7e99cf2da535 Author: Matthias Clasen Date: Sun Sep 6 13:16:26 2015 -0400 tool button: Use G_DEFINE_TYPE No need to do this manually. gtk/gtktoolbutton.c | 69 ++++++++++++----------------------------------------- 1 file changed, 15 insertions(+), 54 deletions(-) commit 9ebebd48b00092446cdbeee03b49f149725c9868 Author: Matthias Clasen Date: Sun Sep 6 13:15:38 2015 -0400 print backend: Remove an unneeded variable The G_DEFINE_TYPE macros automate the parent_class handling. gtk/gtkprintbackend.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) commit d92a02f7a40c83417a32d91aba7c0e2033246099 Author: Matthias Clasen Date: Sun Sep 6 13:14:55 2015 -0400 im module: Remvoe an unneeded variable The G_DEFINE_TYPE macros automate the parent_class handling. gtk/gtkimmodule.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) commit fd682a58de2ab07600c4007ac063e0ee635f814d Author: Matthias Clasen Date: Sun Sep 6 13:14:40 2015 -0400 toggle action: Remove an unused variable gtk/deprecated/gtktoggleaction.c | 2 -- 1 file changed, 2 deletions(-) commit 60c1dbd3589816d462f699d256482951378482d8 Author: Matthias Clasen Date: Sun Sep 6 13:14:01 2015 -0400 gdk window: Remove an unneeded variable The G_DEFINE_TYPE macros automate the parent_class handling. gdk/gdkwindow.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) commit e559a310c6cd45fe14ff78a7115da50aac644d50 Author: Matthias Clasen Date: Sat Sep 5 22:36:00 2015 -0400 gtk-demo: Add a way to launch individual demos Add a --run option which takes the name of an example and launches it. Also add a --autoquit option which can be used to quit after a given number of seconds. demos/gtk-demo/main.c | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 69 insertions(+), 1 deletion(-) commit 9cd7f97d03ac53d71ab08d8e17bffc48151eea35 Author: Changwoo Ryu Date: Sun Sep 6 03:59:39 2015 +0900 Updated Korean translation po-properties/ko.po | 2939 +++++++++++++++++++++++++++------------------------ po/ko.po | 1490 ++++++++++++++++---------- 2 files changed, 2516 insertions(+), 1913 deletions(-) commit 4ba211692215b008663e27f2404ffded2cea4bb3 Author: Baurzhan Muftakhidinov Date: Sat Sep 5 05:56:51 2015 +0000 Updated Kazakh translation po/kk.po | 4437 ++++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 2420 insertions(+), 2017 deletions(-) commit 8aefba3adadd342b38196fb575ca328b041f4e28 Author: Baurzhan Muftakhidinov Date: Sat Sep 5 05:54:29 2015 +0000 Updated Kazakh translation po-properties/kk.po | 3043 +++++++++++++++++++++++++++------------------------ 1 file changed, 1619 insertions(+), 1424 deletions(-) commit 27e3059a324ea1e18e871dbaa0278b1f91a91b9e Author: Matthias Clasen Date: Fri Sep 4 23:28:24 2015 -0400 wayland: Remove an overeager assert If we are using gl for drawing, we don't have a shm surface, so don't assert that we do. Instead, only call shm-specific apis when they make sense. This fixes a crash when showing popovers over a GtkGLArea, as seen in gdkgears. https://bugzilla.gnome.org/show_bug.cgi?id=754143 gdk/wayland/gdkwindow-wayland.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) commit 89063cf21c792c90259627149a4f7cf2aaa71eef Author: Tom Tryfonidis Date: Fri Sep 4 22:33:35 2015 +0000 Updated Greek translation po-properties/el.po | 459 ++++++++++++++++++++++++++-------------------------- 1 file changed, 230 insertions(+), 229 deletions(-) commit 63cefa199aa8f0d094b1cd541265e7fab9c68f2f Author: Benjamin Otte Date: Thu Sep 3 15:59:57 2015 +0200 popover: Don't inherit style from parent Instead, inherit style from toplevel (because that's the default way, not because it makes lots of sense). This way, popovers don't inherit the styling from the widget that popped them up, which is a problem in selected listbox rows, selection-mode headerbars. It also doesn't inherit styling where we might want it, like the osd. But we can only have one of the two things. gtk/gtkpopover.c | 17 ----------------- 1 file changed, 17 deletions(-) commit 5b7bed68a90ed15c2f2c255d7b10108322775575 Author: Jakub Steiner Date: Thu Sep 3 12:12:01 2015 +0200 HighContrast: make linked entries align - reshuffled the stylesheet to easily allow having a thicker border, but decided to keep the 1px borders on entries as it makes easier to spot the buttons despite being flat. https://bugzilla.gnome.org/show_bug.cgi?id=753129 gtk/theme/HighContrast/_common.scss | 3 +- gtk/theme/HighContrast/_drawing.scss | 1 - gtk/theme/HighContrast/gtk.css | 617 +++++++++++++++++------------------ 3 files changed, 299 insertions(+), 322 deletions(-) commit 7a676cdc14ae854f8fd6817bdaa99ae88df56973 Author: Rafal Luzynski Date: Fri Sep 4 11:21:08 2015 +0200 flow box: Fix bad children allocation with RTL locales If the position of the children is always relative to the box then we should not take the allocation of the box into account when flipping the children for RTL text direction. This patch also removes unused assignments to child_allocation. https://bugzilla.gnome.org/show_bug.cgi?id=754559 gtk/gtkflowbox.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) commit 6457ee59be68d22ebefac08e3dd0c58d6bf2ddbf Author: Matthias Clasen Date: Fri Sep 4 02:11:41 2015 -0400 text view: Drop an unused variable gtk/gtktextview.c | 2 -- 1 file changed, 2 deletions(-) commit 9f6f4b2004841f5b7f170fbb94ba9e02baa20931 Author: Matthias Clasen Date: Fri Sep 4 02:09:43 2015 -0400 path bar: Don't use prerendered surfaces The current icon handling did not update icons for widget state changes, causing black-on-black icons in HighContrast. Instead, use the GIcon. https://bugzilla.gnome.org/show_bug.cgi?id=753397 gtk/gtkpathbar.c | 90 ++++++++++++++++---------------------------------------- 1 file changed, 25 insertions(+), 65 deletions(-) commit 55d68726160a3106ad428266bdad624547e53469 Author: Matthias Clasen Date: Fri Sep 4 02:08:59 2015 -0400 file system: Add an api to get a GIcon Using prerendered surfaces is not working well when it comes to state changes, so make the GIcon available. gtk/gtkfilesystem.c | 31 +++++++++++++++++-------------- gtk/gtkfilesystem.h | 1 + 2 files changed, 18 insertions(+), 14 deletions(-) commit 1dc4eea096a48b4137a89fc56ba65ca19d6e481f Author: Matthias Clasen Date: Thu Sep 3 13:52:09 2015 -0400 text view: Improve cursor hiding logic Same as we did for the entry in the previous commit. Previously, we just hid the cursor if a key event was adding text, but not when you used backspace, or Ctrl-V. Rearrange things so that we obscure the cursor whenever the buffer contents change while we are handling key events. https://bugzilla.gnome.org/show_bug.cgi?id=754535 gtk/gtktextview.c | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) commit 587afb5b1c51f68eb49b630f0addbaf1d569f23e Author: Matthias Clasen Date: Thu Sep 3 13:16:02 2015 -0400 entry: Improve cursor hiding logic Previously, we just hid the cursor if a key event was adding text, but not when you used backspace, or Ctrl-V. Rearrange things so that we obscure the cursor whenever the buffer contents change while we are handling key events. https://bugzilla.gnome.org/show_bug.cgi?id=754535 gtk/gtkentry.c | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) commit 57894ec55b85bed7acbc669963b9c5416af9bb37 Author: Lapo Calamandrei Date: Thu Sep 3 16:46:36 2015 +0200 HC: fix pathbar paddings. See https://bugzilla.gnome.org/show_bug.cgi?id=753397 for details. gtk/theme/HighContrast/_common.scss | 21 ++ gtk/theme/HighContrast/gtk.css | 612 +++++++++++++++++++----------------- 2 files changed, 338 insertions(+), 295 deletions(-) commit 1405bcb32d4e63e5f641eb8f54bafec2581520e0 Author: Timm Bäder Date: Tue Sep 1 10:41:42 2015 +0200 GtkListBox: Allow a NULL callback in bind_model When unsetting the bound model, one can pass NULL, but in that case the create_func parameter should also be NULL. gtk/gtklistbox.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit bd35b17083af8fac8c5ce88fa25c2923e87d930f Author: Aurimas Černius Date: Wed Sep 2 21:23:14 2015 +0300 Updated Lithuanian translation po-properties/lt.po | 232 ++++++++++++++++++++++------------------------------ po/lt.po | 194 ++++++++++++++++++++++++------------------- 2 files changed, 210 insertions(+), 216 deletions(-) commit 1cd9d8a4749372547e6588be08b4a13a7ce2a74f Author: Lapo Calamandrei Date: Wed Sep 2 19:35:35 2015 +0200 Adwaita: fix documents and the like rubberband. gtk/theme/Adwaita/_common.scss | 1 + gtk/theme/Adwaita/gtk-contained-dark.css | 2 +- gtk/theme/Adwaita/gtk-contained.css | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) commit b931852e1bda02bbb502a7f29176251b631220cd Author: Lapo Calamandrei Date: Wed Sep 2 17:23:22 2015 +0200 Adwaita: add .content-view:hover styling. Just to make thumbs in various app hilight on hover. gtk/theme/Adwaita/_common.scss | 2 +- gtk/theme/Adwaita/gtk-contained-dark.css | 2 ++ gtk/theme/Adwaita/gtk-contained.css | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-)