commit 02c89f7e8fe055c5523c8c221d2678ada12b055d Author: Matthias Clasen Date: Sun Jul 17 23:27:35 2016 -0400 3.21.4 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 16dbc0fd10cac4198d52715b3e1d906d6ce10ecb Author: Matthias Clasen Date: Sun Jul 17 14:07:47 2016 -0400 Updates NEWS | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) commit e9078e3abb90aa107f3c329940fa1e7454a31fcb Author: Chao-Hsiung Liao Date: Sat Jul 16 02:46:17 2016 +0000 Updated Chinese (Taiwan) translation po-properties/zh_TW.po | 2251 +++++++++++++++++++++++++----------------------- 1 file changed, 1175 insertions(+), 1076 deletions(-) commit 6906252b386b5a38d8b033d934740dc1e87430c2 Author: Chao-Hsiung Liao Date: Sat Jul 16 02:45:07 2016 +0000 Updated Chinese (Taiwan) translation po/zh_TW.po | 1511 +++++++++++++++++++++++++++++++---------------------------- 1 file changed, 803 insertions(+), 708 deletions(-) commit 01129a0ba06af7596a27afd8659862204f13172f Author: Piotr Drąg Date: Thu Jul 14 17:06:21 2016 +0200 Add Language headers to po files Future versions of gettext will fail if this header is missing. po-properties/as.po | 2 +- po-properties/az.po | 2 +- po-properties/az_IR.po | 2 +- po-properties/be@latin.po | 2 +- po-properties/bn.po | 2 +- po-properties/bn_IN.po | 2 +- po-properties/br.po | 2 +- po-properties/ca@valencia.po | 2 +- po-properties/crh.po | 1 + po-properties/dz.po | 2 +- po-properties/en.po | 2 +- po-properties/en@shaw.po | 1 + po-properties/en_CA.po | 2 +- po-properties/es.po | 2 +- po-properties/et.po | 1 + po-properties/gu.po | 2 +- po-properties/hy.po | 2 +- po-properties/ia.po | 2 +- po-properties/io.po | 2 +- po-properties/kg.po | 1 + po-properties/km.po | 2 +- po-properties/ko.po | 2 +- po-properties/lg.po | 1 + po-properties/mai.po | 2 +- po-properties/ml.po | 2 +- po-properties/ms.po | 2 +- po-properties/nb.po | 2 +- po-properties/nds.po | 2 +- po-properties/sq.po | 2 +- po-properties/sr@ije.po | 2 +- po-properties/sr@latin.po | 2 +- po-properties/tt.po | 2 +- po-properties/ug.po | 2 +- po-properties/ur.po | 2 +- po-properties/uz.po | 2 +- po-properties/uz@cyrillic.po | 2 +- po-properties/wa.po | 2 +- po-properties/yi.po | 2 +- po-properties/zh_HK.po | 2 +- po/as.po | 2 +- po/az_IR.po | 2 +- po/be@latin.po | 2 +- po/bn_IN.po | 2 +- po/br.po | 1 + po/ca@valencia.po | 2 +- po/crh.po | 2 +- po/dz.po | 2 +- po/en.po | 2 +- po/en@shaw.po | 1 + po/en_CA.po | 2 +- po/es.po | 2 +- po/gu.po | 2 +- po/hy.po | 2 +- po/io.po | 2 +- po/kg.po | 1 + po/km.po | 2 +- po/ko.po | 2 +- po/ku.po | 2 +- po/lg.po | 2 +- po/mai.po | 2 +- po/mi.po | 2 +- po/ms.po | 2 +- po/nb.po | 2 +- po/nds.po | 2 +- po/sl.po | 2 +- po/sq.po | 2 +- po/sr@ije.po | 2 +- po/sr@latin.po | 2 +- po/tt.po | 2 +- po/ug.po | 2 +- po/ur.po | 2 +- po/uz.po | 2 +- po/uz@cyrillic.po | 2 +- po/wa.po | 2 +- po/yi.po | 2 +- po/zh_HK.po | 2 +- 76 files changed, 76 insertions(+), 68 deletions(-) commit 846087fcff18456f369c280efa445b38c0e47c1f Author: Javier Jardón Date: Wed Jul 13 21:15:15 2016 +0100 Add LINGUAS file to po-properties po-properties/LINGUAS | 121 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) commit 473ae67a139bf1c0a4e84da0d8ade880ca4bff99 Author: Tiago Santos Date: Wed Jul 13 16:49:10 2016 +0000 Updated Portuguese translation po/pt.po | 339 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 170 insertions(+), 169 deletions(-) commit 45a9aed72124ca8bfe84945d8355f9d65964414d Author: Tiago Santos Date: Wed Jul 13 16:47:18 2016 +0000 Updated Portuguese translation po-properties/pt.po | 91 ++++++++++++++++++++++++++++------------------------- 1 file changed, 48 insertions(+), 43 deletions(-) commit 793d5291d99fd0aa97b64e18db375baa180c37dd Author: Matthias Clasen Date: Wed Jul 13 11:23:47 2016 -0400 link button: Use gtk_show_uri_on_window This gives slightly better behavior in the sandboxed case and makes no difference otherwise. gtk/gtklinkbutton.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) commit 6184edc31896dca557c76fbcc6d13cc1e84a14eb Author: Patrick Griffis Date: Wed Jul 13 01:44:34 2016 -0400 GtkFileChooserNativePortal: Use correct response code for accept As per the documentation of GtkFileChooserNative. https://bugzilla.gnome.org/show_bug.cgi?id=768756 gtk/gtkfilechoosernativeportal.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d8815f3e4ee090cf22156a96873909db10d384f4 Author: Chun-wei Fan Date: Mon Jul 11 17:50:13 2016 +0800 gtk/gtkfilechoosernativeportal.c: Don't use g_autoptr() This code is also built by non-GCC/CLang compilers, so use the normal ref/unref steps for the GVariant. https://bugzilla.gnome.org/show_bug.cgi?id=768659 gtk/gtkfilechoosernativeportal.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 500c9dbe96d56895a95b6594c6ab5f011c747e3f Author: Matthias Clasen Date: Tue Jul 12 21:57:46 2016 -0400 Remove a few mentions of GtkVBox in the docs We only have GtkBox nowadays. gtk/gtkmessagedialog.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 8f1fd7d964c4d447253a2317caa7929a8ee0fabf Author: Emmanuele Bassi Date: Tue Jul 12 18:09:20 2016 +0100 docs: Fix typo. gtk/gtkwidget.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c0dae6c14638672f490a96af8c96fef63ce75e5c Author: Emmanuele Bassi Date: Tue Jul 12 12:43:31 2016 +0100 docs: Attempt a better explanation for gtk_widget_destroy() Clarify the nature of this function, and the expectations after it's been called. gtk/gtkwidget.c | 44 ++++++++++++++++++++++++++++++-------------- 1 file changed, 30 insertions(+), 14 deletions(-) commit 3831b2a725880ac1d17cd71c25e174d75ecf4d72 Author: Piotr Drąg Date: Tue Jul 12 13:31:21 2016 +0200 placesview: fix spelling of WebDAV in a translatable string gtk/ui/gtkplacesview.ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9747312e6c2d5b4c37a52b4270108ef652603784 Author: Razvan Chitu Date: Tue Jul 12 12:08:23 2016 +0300 placesview: fix open action for locations without a mount or volume In the "Other Locations" view, locations can be opened from the context menu based on their mount or volume. However, some locations, like "Computer", do not have either of those so they cannot be opened from the context menu. In order to fix this, the file associated with the location can be used as well. https://bugzilla.gnome.org/show_bug.cgi?id=768657 gtk/gtkplacesview.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) commit b5a2bba84071265ffd2c2327e710b8bee3318ea4 Author: Emmanuele Bassi Date: Mon Jul 11 16:55:10 2016 +0100 docs: Improve gdk_window_create_similar_image_surface() The sizes passed are in device pixels and do not take into account the scaling factor of the window itself. We cannot change the semantics of the function, so let's at least add a warning for this trap door. gdk/gdkwindow.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) commit 53a1f0ba7822d314003a170dc2c905af6f4b0cbb Author: Lapo Calamandrei Date: Sat Jul 9 00:56:32 2016 +0200 Adwaita: remove old popover checkbutton/radiobutton style remove some now disfunctional style regarding checkbuttons and radiobuttons inside popovers which shouldn't be needed anymore. gtk/theme/Adwaita/_common.scss | 3 --- gtk/theme/Adwaita/gtk-contained-dark.css | 40 +++++++++++--------------------- gtk/theme/Adwaita/gtk-contained.css | 40 +++++++++++--------------------- 3 files changed, 26 insertions(+), 57 deletions(-) commit 725d5b14779e3acb2ec21f4c08d50ed85d2d9e1e Author: Lapo Calamandrei Date: Fri Jul 8 22:08:27 2016 +0200 Adwaita: remove some check and radio related cruft remove superfluous padding which was there before the css node conversion of the widget. gtk/theme/Adwaita/_common.scss | 7 ------- gtk/theme/Adwaita/gtk-contained-dark.css | 16 ---------------- gtk/theme/Adwaita/gtk-contained.css | 16 ---------------- 3 files changed, 39 deletions(-) commit ae8c13753e0daaeeda0255bf98e1c839ff1487cb Author: Piotr Drąg Date: Fri Jul 8 21:49:21 2016 +0200 Updated POTFILES.in po-properties/POTFILES.in | 1 + po/POTFILES.in | 1 + 2 files changed, 2 insertions(+) commit 3756a1eca291ab638d2b5c0da9e0c8284431c7c1 Author: Matthias Clasen Date: Fri Jul 8 10:26:22 2016 -0400 Fix up the documentation of GtkTextView::move-viewport Pointed out in https://bugzilla.gnome.org/show_bug.cgi?id=768546 gtk/gtktextview.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 25fed0342094686bae8a97981838235204b818c7 Author: Matthias Clasen Date: Tue Jul 5 01:36:56 2016 -0400 Add portal support to GtkPrintOperation Make GtkPrintOperation talk to org.freedesktop.portal.Print when running in a sandbox. https://bugzilla.gnome.org/show_bug.cgi?id=768499 gtk/Makefile.am | 8 +- gtk/gtkprintoperation-portal.c | 626 +++++++++++++++++++++++++++++++++++++++++ gtk/gtkprintoperation-portal.h | 40 +++ gtk/gtkprintoperation-unix.c | 138 ++++++--- 4 files changed, 777 insertions(+), 35 deletions(-) commit 56ebfc6ca574633ffb21a0cd9de16a04e60933d2 Author: Matthias Clasen Date: Mon Jul 4 00:04:38 2016 -0400 print job: Add api to send data from an fd This will be useful for portalized print support. https://bugzilla.gnome.org/show_bug.cgi?id=768499 gtk/gtkprintjob.c | 35 +++++++++++++++++++++++++++++++++++ gtk/gtkprintjob.h | 4 ++++ 2 files changed, 39 insertions(+) commit cc97e55f8a1c13dbf554e089a9a4ba6a43443146 Author: Matthias Clasen Date: Sat Jul 2 20:29:51 2016 -0400 page setup: Add api to serialize to a GVariant This will be useful for portalized print support. https://bugzilla.gnome.org/show_bug.cgi?id=768499 docs/reference/gtk/gtk3-sections.txt | 3 ++ gtk/gtkpagesetup.c | 83 ++++++++++++++++++++++++++++++++++++ gtk/gtkpagesetup.h | 5 +++ 3 files changed, 91 insertions(+) commit 42ae48a23e4f95f5c975890b4f3636102ebc40c4 Author: Matthias Clasen Date: Wed Jul 6 21:31:49 2016 -0400 Add api to serialize a GtkPaperSize to a GVariant This will be useful in portalized printing. https://bugzilla.gnome.org/show_bug.cgi?id=768499 docs/reference/gtk/gtk3-sections.txt | 2 + gtk/gtkpapersize.c | 87 ++++++++++++++++++++++++++++++++++++ gtk/gtkpapersize.h | 5 +++ 3 files changed, 94 insertions(+) commit a3764e27a4b8b7bafc8ba431d6c841b9211e4aea Author: Matthias Clasen Date: Sat Jul 2 20:29:08 2016 -0400 print settings: Add api to serialize to a GVariant This will be useful for portalized print support. https://bugzilla.gnome.org/show_bug.cgi?id=768499 docs/reference/gtk/gtk3-sections.txt | 2 ++ gtk/gtkprintsettings.c | 65 ++++++++++++++++++++++++++++++++++++ gtk/gtkprintsettings.h | 6 ++++ 3 files changed, 73 insertions(+) commit 04cec61aa154910d36202c26cf32d37a35a7b99a Author: Matthias Clasen Date: Fri Jul 1 21:19:12 2016 -0400 Support the Inhibit portal xdg-desktop-portal now has a portal for inhibiting session status changes. We don't need to use it if we can talk to the session manager, but if can't, try org.freedesktop.portal.Inhibit. https://bugzilla.gnome.org/show_bug.cgi?id=768499 gtk/gtkapplication-dbus.c | 184 +++++++++++++++++++++++++++++++++++--------- gtk/gtkapplicationprivate.h | 4 + 2 files changed, 150 insertions(+), 38 deletions(-) commit 4600209962e051d97b6fac6a81424bcf54707f46 Author: Matthias Clasen Date: Tue Jul 5 22:13:22 2016 -0400 Implement combobox apis for GtkFileChooserNativePortal https://bugzilla.gnome.org/show_bug.cgi?id=768499 gtk/gtkfilechoosernative.c | 130 ++++++++++++++++++++++++++++++++++++++ gtk/gtkfilechoosernativeportal.c | 130 +++++++++++++++++++------------------- gtk/gtkfilechoosernativeprivate.h | 9 +++ 3 files changed, 203 insertions(+), 66 deletions(-) commit 5839c138434cd2ba3b0bec400e17b6334a020800 Author: Matthias Clasen Date: Tue Jul 5 22:11:44 2016 -0400 Implement combobox apis in GtkFileChooserWidget https://bugzilla.gnome.org/show_bug.cgi?id=768499 gtk/gtkfilechooserutils.c | 49 +++++++++++++++ gtk/gtkfilechooserwidget.c | 146 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 195 insertions(+) commit 6fc7485077505c946ec8f0878e22e418a46a7679 Author: Matthias Clasen Date: Tue Jul 5 22:09:56 2016 -0400 GtkFileChooser: Add abstract api for comboboxes and checkbuttons This commit adds API for adding combo boxes and check buttons to GtkFileChooser, and getting the selected value back in ::response. In contrast to gtk_file_chooser_set_extra_widget, these APIs are abstract and suitable for implementation in GtkFileChooserNative. https://bugzilla.gnome.org/show_bug.cgi?id=768499 gtk/gtkfilechooser.c | 96 +++++++++++++++++++++++++++++++++++++++++++++ gtk/gtkfilechooser.h | 17 ++++++++ gtk/gtkfilechooserprivate.h | 16 +++++++- 3 files changed, 128 insertions(+), 1 deletion(-) commit 2b77eaa1ae8ab835e42dd082375e406c6b4bd906 Author: Matthias Clasen Date: Wed Jul 6 12:54:29 2016 -0400 Adapt to simplified file chooser portal api OpenFiles is gone, just set the 'multiple' option instead. https://bugzilla.gnome.org/show_bug.cgi?id=768499 gtk/gtkfilechoosernativeportal.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 445d12e5cbe0d155035682d1ddbdd6fe701a4173 Author: Matthias Clasen Date: Sun Jun 26 14:35:12 2016 -0400 file chooser portal: Port to new Request API The portal API has changed, we need to adapt. https://bugzilla.gnome.org/show_bug.cgi?id=768499 gtk/gtkfilechoosernativeportal.c | 51 +++++++++++++++++----------------------- 1 file changed, 22 insertions(+), 29 deletions(-) commit 6cf71ed6bba0dbb8d01e4c6d566ff1467cfa0b25 Author: Matthias Clasen Date: Sat Jun 11 10:23:27 2016 -0400 Use the portal when sandboxed Use the sandbox helper api to find out whether to use the file chooser portal. https://bugzilla.gnome.org/show_bug.cgi?id=768499 gtk/gtkfilechoosernativeportal.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) commit 3b3e1eca2bc3accff3960dfc2394d1deb5e7ea20 Author: Matthias Clasen Date: Sat Jun 11 01:30:50 2016 -0400 portal: Sent more data along Send the current_name, current_folder or current_file fields to the portal. https://bugzilla.gnome.org/show_bug.cgi?id=768499 gtk/gtkfilechoosernativeportal.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) commit 0acb6a0e9836d0d7d565b3eb3461809a3d0615d6 Author: Matthias Clasen Date: Sat Jun 11 00:46:12 2016 -0400 portal: Send file filters to the portal https://bugzilla.gnome.org/show_bug.cgi?id=768499 gtk/gtkfilechoosernativeportal.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) commit 35181e793d48da87bdc37c2db23a4b93cf1b7039 Author: Matthias Clasen Date: Sat Jun 11 00:45:27 2016 -0400 Add api to serialize GtkFileFilter to a variant This will be used to send filters over D-Bus in future commits. https://bugzilla.gnome.org/show_bug.cgi?id=768499 docs/reference/gtk/gtk3-sections.txt | 5 ++ gtk/gtkfilefilter.c | 100 +++++++++++++++++++++++++++++++++++ gtk/gtkfilefilter.h | 5 ++ 3 files changed, 110 insertions(+) commit 01d0bac83e7f12338d12e5669c408da3078f6010 Author: Alexander Larsson Date: Wed Nov 11 16:31:53 2015 +0100 Initial version of file chooser portal support Implement GtkFileChooserNative for sandboxed applications by talking to org.freedesktop.portal.FileChooser. Currently, this supports OPEN and SAVE mode. https://bugzilla.gnome.org/show_bug.cgi?id=768499 gtk/Makefile.am | 1 + gtk/gtkfilechoosernative.c | 28 ++- gtk/gtkfilechoosernativeportal.c | 392 ++++++++++++++++++++++++++++++++++++++ gtk/gtkfilechoosernativeprivate.h | 3 + 4 files changed, 423 insertions(+), 1 deletion(-) commit e47957406d60345efa624dea6517f7d793fc1a13 Author: Matthias Clasen Date: Tue Jul 5 08:04:13 2016 -0400 about dialog: Use gtk_show_uri_on_window This allows us to handle things slightly better in the portal case. https://bugzilla.gnome.org/show_bug.cgi?id=768499 gtk/gtkaboutdialog.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) commit c6416aec748da82de04deaf75f58639af5096b44 Author: Matthias Clasen Date: Sat Jun 18 17:59:40 2016 -0400 Add gtk_show_uri_on_window The gtk_show_uri API doesn't let us specify a parent window. With portals, there may be an intermediate dialog, for which it is nice to have parent window information, to place it properly. https://bugzilla.gnome.org/show_bug.cgi?id=768499 docs/reference/gtk/gtk3-sections.txt | 1 + gtk/gtkshow.c | 66 +++++++++++++++++++++++++++++++++++- gtk/gtkshow.h | 8 +++++ 3 files changed, 74 insertions(+), 1 deletion(-) commit 96d8afbccb08709db70995be6f273309a6e484e5 Author: Matthias Clasen Date: Mon Jul 4 20:29:59 2016 -0400 Add a portal helper Instead of open-coding checks for sandboxing in multiple places, add a helper function that caches the information. https://bugzilla.gnome.org/show_bug.cgi?id=768499 gtk/gtkprivate.c | 24 ++++++++++++++++++++++++ gtk/gtkprivate.h | 2 ++ 2 files changed, 26 insertions(+) commit b840a59766af16e1be365aa23cd69ff12351d400 Author: Owen W. Taylor Date: Wed Jul 6 09:46:43 2016 -0400 Change the priority of the window-close idle to G_PRIORITY_DEFAULT If we have an application that never goes idle (or takes a long time to go idle), the close buttons in CSD decoration don't work properly. While it's not clear why the usage of an idle was added in the first place, keep on using it to avoid unexpected reentrancy problems, but change the priority to G_PRIORITY_DEFAULT. https://bugzilla.gnome.org/show_bug.cgi?id=768485 gtk/gtkwindow.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c7654c737c8b23ff9b2f41af1c77bbc8acf266d0 Author: Matthias Clasen Date: Tue Jul 5 13:16:43 2016 -0400 Add a css parser test for background-blend-mode testsuite/css/parser/Makefile.am | 2 ++ testsuite/css/parser/background-blend-mode.css | 19 +++++++++++++++++++ testsuite/css/parser/background-blend-mode.ref.css | 19 +++++++++++++++++++ 3 files changed, 40 insertions(+) commit 93f20315d159463b0b8f8cb2a445b807cf6dfd45 Author: Matthias Clasen Date: Mon Jul 4 09:58:15 2016 -0400 gtk3-demo: Simplify the blendmodes example a bit Just put all of the template into the resource. demos/gtk-demo/css_blendmodes.c | 37 +------------------------------------ demos/gtk-demo/css_blendmodes.css | 28 +++++++++++++++++++++++++++- 2 files changed, 28 insertions(+), 37 deletions(-) commit e032c83822d98cc831d019f29f4f8f4afc2a9131 Author: Olivier Fourdan Date: Wed Jun 29 15:19:42 2016 +0200 wayland: remove unneeded statement seat->pointer_info.focus is already set to NULL 2 lines above, no need to repeat it there. gdk/wayland/gdkdevice-wayland.c | 2 -- 1 file changed, 2 deletions(-) commit 298221bfba9b784cddaf5d6ac121e9bb3f25c0db Author: Olivier Fourdan Date: Wed Jun 29 15:08:06 2016 +0200 wayland: return child only in device_query_state() On X11, device_query_state() uses XIQueryPointer() which will return a child window only if the pointer is within an actual child of the given window. Wayland backend would return the pointer->focus window independently of the given window, but that breaks the logic in get_device_state() and later in gdk_window_get_device_position_double() because the window is searched based on coordinates from another window without sibling relationship, breaking gtkmenu sub-menus further down the line. Fix the Wayland backend to mimic X11's XIQueryPointer() to return a child only if really a child of the given window. That's the most sensible thing to do to fix the issue, but the API here seems to be modeled after the X11 implementation and the description of gdk_window_get_device_position_double() is not entirely accurate. https://bugzilla.gnome.org/show_bug.cgi?id=768016 gdk/wayland/gdkdevice-wayland.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 4c01ab8945a8e6a07dbc93b157bc6aa1808e7819 Author: Piotr Drąg Date: Mon Jul 4 00:41:24 2016 +0200 Updated POTFILES.skip po-properties/POTFILES.skip | 1 + po/POTFILES.skip | 1 + 2 files changed, 2 insertions(+) commit 507e58df4e0c6a4dea6ae7a4e209681db7bf511f Author: Matthias Clasen Date: Sun Jul 3 18:29:21 2016 -0400 gtk3-demo: Make blendmodes example non-resizable It doesn't need to. demos/gtk-demo/blendmodes.ui | 1 + 1 file changed, 1 insertion(+) commit 3c4be3c9127a2880519bc85ae910f7656dfada12 Author: Matthias Clasen Date: Sun Jul 3 17:54:19 2016 -0400 Fix parsing of some css properties Our property parser stops at the first match when looking for enums, so we need to order our values so that we don't end up with prefixes of longer names being found first. I noticed this when the parser tried to interpret background-blend-mode: color-burn; as "color, with junk at the end". It also affects animation-direction, which is also fixed here. gtk/gtkcssenumvalue.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 34986231f48704d13c9c97b347818346baf9b9cd Author: Matthias Clasen Date: Sun Jul 3 17:46:30 2016 -0400 css parser: Improve an error message Say what property we are dealing with when we complain about the value. gtk/gtkcssprovider.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 1d93cc2b0b88bcc02f8a15d80b8a75d61d0cb24a Author: Georges Basile Stavracas Neto Date: Fri Jul 1 19:39:04 2016 -0300 demo: add a demo for blend modes After introducing the CSS blend mode enum values and including the background-blend-mode CSS property, it is very important to actually provide an example of the new feature. This patch adds a new demo to gtk3-demo which shows how the background-blend-mode CSS property works. https://bugzilla.gnome.org/show_bug.cgi?id=768305 demos/gtk-demo/Makefile.am | 1 + demos/gtk-demo/blendmodes.ui | 391 ++++++++++++++++++++++++++++++++++++++ demos/gtk-demo/blends.png | Bin 0 -> 788 bytes demos/gtk-demo/cmy.jpg | Bin 0 -> 55825 bytes demos/gtk-demo/css_blendmodes.c | 178 +++++++++++++++++ demos/gtk-demo/css_blendmodes.css | 51 +++++ demos/gtk-demo/demo.gresource.xml | 8 + demos/gtk-demo/ducky.png | Bin 0 -> 248546 bytes 8 files changed, 629 insertions(+) commit 27fea1c4fc7e178fd435a4bb0c5d5c836d72ed09 Author: Georges Basile Stavracas Neto Date: Fri Jul 1 10:01:43 2016 -0300 css: add documentation for background-blend-mode After introducing the new CSS property, it is natural to add some documentation explaining the behavior of it and our support coverage. https://bugzilla.gnome.org/show_bug.cgi?id=768305 docs/reference/gtk/css-properties.xml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) commit 369db4a40650bbbcd6125b9b97f486925d93541e Author: Georges Basile Stavracas Neto Date: Fri Jul 1 09:54:23 2016 -0300 css: add background-blend-mode support CSS supports blend modes, in which a series of layers are merged together according to the given operation or set of operations. Support for blend modes landed on Cairo, which exposes all the commons and also the exquisites blend modes available. Adding support for blend modes, then, is just a matter of using the available Cairo operations. This patch adds the background-blend-mode CSS enum property, and adapts the background rendering code to blend the backgrounds using the available blend modes when they're set. https://bugzilla.gnome.org/show_bug.cgi?id=768305 gtk/gtkcssenumvalue.c | 61 ++++++++++++++++++++++++++++++ gtk/gtkcssenumvalueprivate.h | 4 ++ gtk/gtkcssstylepropertyimpl.c | 28 ++++++++++++++ gtk/gtkcsstypes.c | 40 ++++++++++++++++++++ gtk/gtkcsstypesprivate.h | 22 +++++++++++ gtk/gtkrenderbackground.c | 88 +++++++++++++++++++++++++++++++++++++++++-- 6 files changed, 240 insertions(+), 3 deletions(-) commit c8a74a1f5021fe47c9eaf199390a43a16e9809dd Author: Matthias Clasen Date: Sun Jul 3 17:22:14 2016 -0400 Simplify the xfce session manager support We don't have to check name owners twice; reuse the information we already have. gtk/gtkapplication-dbus.c | 60 +++++++++++++++++++---------------------------- 1 file changed, 24 insertions(+), 36 deletions(-) commit 3c7cd7ac23408195dc99642f4c0ef41f466541f9 Author: Eric Koegel Date: Tue Jun 28 11:56:35 2016 +0300 GtkApplication: Add support for the Xfce session manager Xfce4-session-manager added support for managing dbus based clients. This patch adds support for checking if Xfce session manager is around after trying the gnome one. https://bugzilla.gnome.org/show_bug.cgi?id=693203 gtk/gtkapplication-dbus.c | 126 +++++++++++++++++++++++++++++++++++++--------- 1 file changed, 103 insertions(+), 23 deletions(-) commit 22b6df025e5c17c0576826ddea62590532b9ce15 Author: Matthias Clasen Date: Sun Jul 3 13:54:11 2016 -0400 Fix example Makefiles Put OBJS before LIBS on the commandline to make things work better. https://bugzilla.gnome.org/show_bug.cgi?id=768142 examples/application1/Makefile.example | 2 +- examples/application10/Makefile.example | 2 +- examples/application2/Makefile.example | 2 +- examples/application3/Makefile.example | 2 +- examples/application4/Makefile.example | 2 +- examples/application5/Makefile.example | 2 +- examples/application6/Makefile.example | 2 +- examples/application7/Makefile.example | 2 +- examples/application8/Makefile.example | 2 +- examples/application9/Makefile.example | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) commit a43fce058c3cb69dcca24e58a89d6e0151a35216 Author: Matthias Clasen Date: Sat Jul 2 18:08:38 2016 -0400 print dialog: Apply initial capabilities I was struggling to understand why calling gtk_print_unix_dialog_set_manual_capabilities (...,0) was not having the expected effect of hiding the preview button. The initial capabilities were not applied at all. gtk/gtkprintunixdialog.c | 2 ++ 1 file changed, 2 insertions(+) commit 0d30ad279f0ed1a60abf123693981d42b57090d2 Author: Carlos Garnacho Date: Wed Jun 29 17:13:55 2016 +0200 wayland: Separate selection buffers and other per-selection atom data This has most notably impact in selection buffers, because those were shared across all selection atoms. This turned out wrong on 2 situations: - Because the selection atom was set at SelectionBuffer creation time, the GDK_SELECTION_NOTIFY events generated will have unexpected info if the buffer is attempted to be reused for another selection. - Anytime different selections imply different stored content for the same target. This is better separated into per-selection buffers, so it's not possible to get collisions if a same target is used across different selections. https://bugzilla.gnome.org/show_bug.cgi?id=768177 gdk/wayland/gdkselection-wayland.c | 98 +++++++++++++++++++++++--------------- 1 file changed, 60 insertions(+), 38 deletions(-) commit 4b003a75aa4bc7a5210792082380b24c78abc8d5 Author: Carlos Garnacho Date: Mon Jun 27 11:57:21 2016 +0200 wayland: Implement gdk_utf8_to_string_target The sanitize_utf8() function has been copied from X11 so both backends behave the same. This allows interaction with older clients (mainly through Xwayland, and the STRING selection target) that request non-utf8 text. https://bugzilla.gnome.org/show_bug.cgi?id=768082 gdk/wayland/gdkselection-wayland.c | 60 +++++++++++++++++++++++++++++++++++++- 1 file changed, 59 insertions(+), 1 deletion(-) commit 51444b7909cca57238149c519ff8c353b2c47b7b Author: Chun-wei Fan Date: Thu Jun 30 18:00:47 2016 +0800 gtk/gtkstylecascade.c: Fix formatting My previous patch on this file did not take into the account of the formatting, sorry! gtk/gtkstylecascade.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 386d17db6d885376dc028ad862574a69e523eed5 Author: Ray Strode Date: Wed Jun 29 09:20:55 2016 -0400 headerbar: don't throw a warning if title widget is hidden commit 0015ebc4a8f269f6888fcacef3e83e3167241d67 reworked some of the titlebar size allocation code. Those changes inadvertently introduced a warning when the application sets the headerbar title widget to be hidden. This commit fixes that warning. https://bugzilla.gnome.org/show_bug.cgi?id=768184 gtk/gtkheaderbar.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) commit b480d9c2ed8034fc1d45cc001de3aa19d38ad8c0 Author: Ignacio Casal Quinteiro Date: Wed Jun 29 15:14:00 2016 +0200 configure: fix "AC_RUN_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS" configure.ac | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 46748b420ae4aa10dc30f90eeebc7351010a045e Author: Ignacio Casal Quinteiro Date: Wed Jun 29 15:10:39 2016 +0200 gdk: actually fix the previous commit We do not want it on windows gdk/gdk.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 38fbe68e83133fbbe4487fc9e8f77dfee5bbba00 Author: Ignacio Casal Quinteiro Date: Wed Jun 29 15:05:08 2016 +0200 gdk: do not provide display command line argument on windows There is no need to specify a display on windows. gdk/gdk.c | 2 ++ 1 file changed, 2 insertions(+) commit 92de947d5e9be41c3805d58b780132d779c7c3cf Author: Timm Bäder Date: Tue Jun 28 20:54:25 2016 +0200 GtkWindow: Check for GtkWidget-window-dragging in multipress gesture This partly reverts 9f5b9c0e075e2426d6627f867473e911fca0c7ae, which removed the check for GtkWidget-window-dragging in the multipress gesture. This check is still needed for widgets which have this style property set (e.g. menubars and toolbars) can maximize the window on double click -- but those widgets which have it set to FALSE shouldn't maximize the window. gtk/gtkwindow.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) commit 0c1cc9832f091ae8606baa789b34759e166c6df0 Author: Ondrej Holy Date: Wed Jun 22 14:04:00 2016 +0200 gtkfilesystem: Improve heuristics to detect remote filesystem Use G_FILE_ATTRIBUTE_FILESYSTEM_REMOTE to detect remote filesystems instead of hardcoded list of filesystem types. Bump required GLib version accordingly. https://bugzilla.gnome.org/show_bug.cgi?id=767965 configure.ac | 2 +- gtk/gtkfilesystem.c | 21 ++------------------- 2 files changed, 3 insertions(+), 20 deletions(-) commit 9f5b9c0e075e2426d6627f867473e911fca0c7ae Author: Timm Bäder Date: Mon Jun 27 19:23:12 2016 +0200 GtkWindow: Fix dragging on non-titlebar widgets gtk/gtkwindow.c | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) commit d52f6ff7102d1f0955a5c48e4209bca826625793 Author: Timm Bäder Date: Sat Jun 11 07:53:33 2016 +0200 widget: Don't unnecessarily export function _gtk_widget_get_translation_to_window is only used in gtkwidget.c gtk/gtkwidget.c | 2 +- gtk/gtkwidgetprivate.h | 5 ----- 2 files changed, 1 insertion(+), 6 deletions(-) commit 5f525839da5208f4f70ebf50f1a1abd61b15354f Author: Chun-wei Fan Date: Mon Jun 27 11:58:42 2016 +0800 gtk/gtkstylecascade.c: Declare variables at beginning of block gtk/gtkstylecascade.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit cd44f6d875c0011931a360901c233f79c1bfde10 Author: Chun-wei Fan Date: Mon Jun 27 11:53:30 2016 +0800 Fix build of commit f23e99b Commit f23e99b made use of snprintf(), which is not universally available. Fix this by using g_snprintf(). gtk/gtkscale.c | 2 +- gtk/gtkspinbutton.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 325fc609311a451686750328a153a7bac1e660e5 Author: Andika Triwidada Date: Sun Jun 26 22:25:51 2016 +0000 Updated Indonesian translation po-properties/id.po | 1851 ++++++++++++++++++++++++++------------------------- 1 file changed, 957 insertions(+), 894 deletions(-) commit 0587f250c3c65981b3013d4fc1c8409feac74c5e Author: Andika Triwidada Date: Sun Jun 26 22:21:22 2016 +0000 Updated Indonesian translation (cherry picked from commit 23673851b7e51c67a02f8171161b89111fec249b) po-properties/id.po | 3356 +++++++++++++++++++++++++++------------------------ 1 file changed, 1760 insertions(+), 1596 deletions(-) commit 4731be094295c34c63760b29df9c651a4764bb08 Author: Yosef Or Boczko Date: Sun Jun 26 16:15:06 2016 +0300 Updated Hebrew translation po/he.po | 1806 ++++++++++++++++++++++++++------------------------------------ 1 file changed, 760 insertions(+), 1046 deletions(-) commit ebccc8b23f77ce47ba75a8ea3dda3a32d04d9ab7 Author: Lapo Calamandrei Date: Sat Jun 25 18:29:51 2016 +0200 Adwaita: color the selection of entries with error... ...or warning style class applied. This particular style bit wasn't converted to the saner 3.20 way so `entry:selected` used in place of `entry selection`. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=768025 gtk/theme/Adwaita/_common.scss | 4 ++-- gtk/theme/Adwaita/gtk-contained-dark.css | 16 ++++++---------- gtk/theme/Adwaita/gtk-contained.css | 16 ++++++---------- 3 files changed, 14 insertions(+), 22 deletions(-) commit d74e4af1a2cabb16d851f85a7d40d0de003109e5 Author: Lapo Calamandrei Date: Sat Jun 25 18:17:59 2016 +0200 Adwaita: restrict infobar styling to, well, infobars we used to style infobars by using the .info, .question, .warning and .error selectors directly, which used to be ok when we had just styleclasses all over the place, now it needs to be more specific or it interferes with everything with those styleclasses applied like entries. gtk/theme/Adwaita/_common.scss | 60 +++++----- gtk/theme/Adwaita/gtk-contained-dark.css | 193 ++++++++++-------------------- gtk/theme/Adwaita/gtk-contained.css | 195 ++++++++++--------------------- 3 files changed, 152 insertions(+), 296 deletions(-) commit b5920a22e6058af06b1ef09f68cf1c20162cd0a4 Author: Andika Triwidada Date: Sat Jun 25 07:57:53 2016 +0000 Updated Indonesian translation po/id.po | 740 +++++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 410 insertions(+), 330 deletions(-) commit 21c94dea5ec0c84235645c191367e76c6f8c5cf2 Author: Andika Triwidada Date: Sat Jun 25 03:18:54 2016 +0000 Updated Indonesian translation (cherry picked from commit 3abb9ffa917611e81cc4cb50b7ddd38879a49b8f) po/id.po | 2153 +++++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 1214 insertions(+), 939 deletions(-) commit 0015ebc4a8f269f6888fcacef3e83e3167241d67 Author: Ray Strode Date: Fri Jun 24 07:53:49 2016 -0400 headerbar: support expand property for children The header bar currently ignores the expand property on its children. This commit changes the code to honor that property. It divvies up any free space and distributes it equally to packed children (with any left over space given out a pixel at a time on a first come, first serve basis). This commit also adds support for the title widget to be made expandable. It accomplishes this by using up the padding the title widget is centered with. https://bugzilla.gnome.org/show_bug.cgi?id=724332 docs/reference/gtk/migrating-3xtoy.xml | 7 ++++ gtk/gtkheaderbar.c | 59 ++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) commit 847a43c4311c1952a5027381521120e3a817ee04 Author: Ray Strode Date: Fri Jun 24 12:16:40 2016 -0400 headerbar: compute nominal size of sides up front In order to support the expand property on children, we're going to need to look at the size of the packed children on each side of the title widget, up front, before allocating them (to compute how much extra allocation each expanded child gets). This commit lays the groundwork for that analysis by splitting the size calculation of each side of the header bar outside of the loop that allocates each child of the header bar. https://bugzilla.gnome.org/show_bug.cgi?id=724332 gtk/gtkheaderbar.c | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) commit eccfce50d6835206f7260937579bf363bdec1477 Author: Ray Strode Date: Fri Jun 24 07:57:06 2016 -0400 headerbar: simplify some size allocation code With a headerbar, the widget in the center may be a label, constructed internally, or a custom widget, constructed externally. The size allocation code needs to handle either case the same way for the most part. There's more than one place in the code that checks which of the two widgets to use and does some operation on the selected one. This commit simplifies the code by checking up front which one is the center (title) widget and storing that in a temporary variable, This allows reducing duplicated logic later on in the function. https://bugzilla.gnome.org/show_bug.cgi?id=724332 gtk/gtkheaderbar.c | 32 ++++++++++++++------------------ 1 file changed, 14 insertions(+), 18 deletions(-) commit e0bebba4701395b8db6027bd8626e879a4cde90d Author: Ray Strode Date: Thu Jun 23 16:31:24 2016 -0400 headerbar: simplify calculation in size allocation code There's some extraneous MIN() calls that have predetermined answers. This commit drops them and then simplifies a few redudant checks into one MIN call. https://bugzilla.gnome.org/show_bug.cgi?id=724332 gtk/gtkheaderbar.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) commit 8430be75ed1c4f747170138ac29aaef485aa78bc Author: Matthias Clasen Date: Thu Jun 23 15:46:45 2016 -0400 Fix an array overrun When I introduced the new input source enum value for track points, I forgot that there is a fixed-size array with names for those in the inspector. gtk/inspector/general.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 78eccd0db9e79fac187d4fd82f1ce8b5b7e3a2a2 Author: Ray Strode Date: Thu Jun 23 09:16:40 2016 -0400 headerbar: don't use GTK_PACK_* as indices into array The size allocation code maintains an array of two elements, to track the allocation of children packed into the two sides of a header bar. Sometimes this array is indexed with 0 and 1, and sometimes its indexed with GTK_PACK_START and GTK_PACK_END. The latter happen to have the values 0 and 1, respectively, but that's not really obvious. For clarity, this commit changes the code to index those arrays consistently, sticking to 0 and 1 across the board. gtk/gtkheaderbar.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 01eda209e19f02b507a8ddd73ae3b2bf74e7d5c2 Author: Ray Strode Date: Thu Jun 23 08:57:55 2016 -0400 headerbar: don't allocate both label and custom title It's only possible to have a label or a custom title, not both. The size allocate code confusingly treats them as independent. That is confusing, because, as the code is written, it makes it look like the space for the custom title isn't getting accounted for. This commit else-ifies some parts of the size allocate code for clarity. gtk/gtkheaderbar.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) commit 3947ff44c900326b20b571fbff564ee7757bc387 Author: Tiago Santos Date: Wed Jun 22 13:12:03 2016 +0000 Updated Portuguese translation po-properties/pt.po | 692 +++++++++++++++++++++++++++------------------------- 1 file changed, 355 insertions(+), 337 deletions(-) commit 40ee61a686826ac8e937af720bc152895b10392b Author: Emmanuele Bassi Date: Wed Jun 22 10:56:27 2016 +0100 gtk: Keep Firefox working in the DrawingContext world Firefox does a bunch of interesting things with GTK. If the top-level GtkWindow does not have a "csd" style class associated, Firefox will happily draw the contents of the container used to render HTML and XUL directly on the top level's GdkWindow; on the other hand, if a "csd" style class is found, the MozContainer will create a new child window, and draw on it. Then, Firefox will proceed to disable double buffering on both the top-level window and the MozContainer (unless they are backed by the same GdkWindow, in which case only the top-level will be single-buffered) *and* it will add a GDK_EXPOSURE_MASK flag to the MozContainer events for good measure (even if this is only needed for GTK+ 2.x). After landing the GdkDrawingContext API in GdkWindow, GTK enabled automatic double buffering on all top-level windows backed by a native surface, ad most users of single buffering rely on child widgets instead of top-levels, and we'd still like to have the same double buffering behaviour for all top-levels on all backends. Obviously, with Firefox disabling double buffering on the top-level window, the change broke their drawing mechanism. Ideally, Firefox could be fixed to not disable double buffering on the top-level window when MozContainer has a separate GdkWindow — i.e. the CSD case — but since we did introduce a slight change of behaviour in fringe users of the GTK+ API, let's keep backwards compatibility with the old code for a little while longer, and create an intermediate Cairo context unbound from the GdkDrawingContext, like we used to do until GTK+ 3.20. gtk/gtkwidget.c | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) commit c2ba9ca810cd70658d8cc9839693b9518824d4be Author: Chun-wei Fan Date: Wed Jun 22 15:16:09 2016 +0800 Visual Studio builds: Make .pc generation more flexible Allow the use of ${exec_prefix} for libdir and includedir when passing them in as arguments to the script. build/win32/pc_base.py | 44 ++++++++++++++++++++++++++++++-------------- 1 file changed, 30 insertions(+), 14 deletions(-) commit f44b9ef1f0b9bce88f01b258714338a9006f60e1 Author: Carlos Garnacho Date: Tue Jun 21 13:57:20 2016 +0200 GtkColorEditor: Keep ref on pre-popup focus widget And ensure it's still visible before returning the keyboard focus to it. Because of the extra ref, add a dispose handler that will ensure the ref is lost (by popping down), although this should be already ensured through other paths (eg. when the popup widget loses visibility). This fixes a possible crash in dispose paths, where we might be restoring focus on an already destroyed widget, and at a time where, if the toplevel is being itself disposed, no new focus should be set. https://bugzilla.gnome.org/show_bug.cgi?id=767849 gtk/gtkcoloreditor.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) commit 3b98a2d93596aac73efa91a04042b66fda8ec823 Author: Carlos Garnacho Date: Tue Jun 21 12:30:29 2016 +0200 demos: Simplify popovers demo Don't do much unconventional stuff here. This is a demo, not a test. https://bugzilla.gnome.org/show_bug.cgi?id=767851 demos/gtk-demo/popover.c | 4 ---- 1 file changed, 4 deletions(-) commit ed227f9e7b7be4b3558ea9b7f8cdbf83e69f71ef Author: Carlos Garnacho Date: Tue Jun 21 12:24:05 2016 +0200 GtkPopover: Honor widget margins when calculating tail position If there are widget margins set, the whole popover will be displaced. However the calculation of the tail position doesn't have this into account, ending up with the tail being detached from the popover if the margin grew too big. We should not render the arrows invariably next to the GdkWindow edge, but optionally displaced inside it depending on the widget margins. Fixes the gtk3-demo "Popovers" demo case, whose GtkEntry popovers set widget margins for some reason. https://bugzilla.gnome.org/show_bug.cgi?id=767851 gtk/gtkpopover.c | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) commit 3724592efb87567691d47e6f02a7cfb2dc014a3d Author: Christian Hergert Date: Mon Jun 20 15:17:00 2016 -0700 listbox: short-circuit if no sort function is set do_sort will crash if sort_func is not defined. Instead of adding a check there in the hot path, just check for sort_func before invalidating the sort of the underlying GSequence. gtk/gtklistbox.c | 3 +++ 1 file changed, 3 insertions(+)