commit dc5eb1ed31aa16cf774727104b04c147b6f3b0d6 Author: Matthias Clasen Date: Mon Feb 13 16:05:39 2017 -0500 3.89.4 NEWS | 38 ++++++++++++++++++++++++++++++++++++++ configure.ac | 2 +- 2 files changed, 39 insertions(+), 1 deletion(-) commit c4524623a9846a19bbfcb190ae1bd30c6b1e2300 Author: Lapo Calamandrei Date: Wed Feb 8 16:53:10 2017 +0100 HC: insensitive styling for views. gtk/theme/HighContrast/_common.scss | 4 ++++ gtk/theme/HighContrast/gtk-contained-inverse.css | 3 +++ gtk/theme/HighContrast/gtk-contained.css | 3 +++ 3 files changed, 10 insertions(+) commit 6eb9b57e72c6f793781c5082188e4576fc79dcf4 Author: Lapo Calamandrei Date: Wed Feb 8 16:45:51 2017 +0100 adwaita: insensitive styling for views Add an insensitive style to views, somehow we didn't ship one, so for example, disabled textviews looked the same as sensitive ones. gtk/theme/Adwaita/_common.scss | 6 ++++++ gtk/theme/Adwaita/gtk-contained-dark.css | 11 +++++++++++ gtk/theme/Adwaita/gtk-contained.css | 11 +++++++++++ 3 files changed, 28 insertions(+) commit afa78fcffe7785425ed188a0cde52df68a6d3b88 Author: Olivier Fourdan Date: Wed Feb 1 09:41:07 2017 +0100 wayland: do not clamp anchor values Clamping the anchor values as introduced in commit 9a5ffcd to fix bug 777176 breaks menu positioning. By keeping the anchors rectangle size greater than zero, we end up deducting some positive value from the original position, so there is no need to clamp() actually, keeping the values positive is enough and avoids the issue with menu positioning on the menubar. An additional benefit is to make the code a lot simpler. https://bugzilla.gnome.org/show_bug.cgi?id=778009 gdk/wayland/gdkwindow-wayland.c | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) commit 705fc628409e73839a5dae30f4156bfee08c43ba Author: Chris Martin Date: Thu Dec 8 22:13:29 2016 -0500 getting-started: typo tie->the https://bugzilla.gnome.org/show_bug.cgi?id=775864 docs/reference/gtk/getting_started.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ee8258d28557a23042a293ed659543a911089534 Author: Piotr Drąg Date: Sun Feb 5 16:08:59 2017 +0100 Update Polish translation po-properties/pl.po | 450 +++++++++++++++++++++++++--------------------------- 1 file changed, 219 insertions(+), 231 deletions(-) commit a728a2e0612f234ba0cbaf17a2a36c9369b7754d Author: Timm Bäder Date: Sun Feb 5 14:59:19 2017 +0100 Never return NULL from gdk_get_program_class gdk_init is not calling g_set_prgname anymore, so just return a dummy string from gdk_get_program_class if it has not been set before. gdk/gdk.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 78a36cf4bb5ad0678de7e40b90a2504191d44f18 Author: Timm Bäder Date: Sun Feb 5 13:57:29 2017 +0100 popover: Simplify gtk_popover_measure gtk/gtkpopover.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) commit 07643764a64f41cc43da63c29141beb7add7ff3c Author: Timm Bäder Date: Sun Feb 5 11:45:50 2017 +0100 infobar: Use GtkButton:icon-name gtk/ui/gtkinfobar.ui | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) commit 3b1601f8ad14f87fe2c5869cd77ba0927d369a01 Author: Timm Bäder Date: Sun Feb 5 10:08:25 2017 +0100 colorchooserwidget: Show palette by default Restore the old behavior. gtk/gtkcolorchooserwidget.c | 1 - 1 file changed, 1 deletion(-) commit 2e66cda8966a6b19817b1af9c3a2e59fd8197f6b Author: Jiri Grönroos Date: Sat Feb 4 21:10:03 2017 +0000 Update Finnish translation po/fi.po | 2641 ++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 1280 insertions(+), 1361 deletions(-) commit 3905726627d201ef59a2bafe88060b8f6b97e0e0 Author: Michael Catanzaro Date: Fri Jan 20 20:19:56 2017 -0600 notebook: redraw arrows after closing a tab Thanks to Daniel Boles for helping with a crash in an earlier version of this patch. https://bugzilla.gnome.org/show_bug.cgi?id=777547 gtk/gtknotebook.c | 2 ++ 1 file changed, 2 insertions(+) commit 059e50a5127413ebd28f8205a73e44e6e0722de9 Author: Sveinn í Felli Date: Sat Feb 4 15:24:15 2017 +0000 Update Icelandic translation (cherry picked from commit 6209a8e3061e1d14a00bfc6871996d8f21ae00c9) po/is.po | 2919 +++++++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 1845 insertions(+), 1074 deletions(-) commit f251c5bf941de94ef46b3b3a869c7d761961cb6c Author: Timm Bäder Date: Wed Feb 1 21:03:39 2017 +0100 spinbutton: Fix right and middle click on +/- buttons Tell the gesture that we handle all buttons and actually claim the gesture in the ::pressed handler gtk/gtkspinbutton.c | 4 ++++ 1 file changed, 4 insertions(+) commit 992796405d946766cc193330809f0fe57841f37c Author: Daniel Mustieles Date: Wed Feb 1 10:15:52 2017 +0000 Update Spanish translation po-properties/es.po | 961 ++++++++++++++++++++++++++-------------------------- 1 file changed, 483 insertions(+), 478 deletions(-) commit 2f2ec4fec81a0bcc8b5a47007164b6249b74fc66 Author: Daniel Boles Date: Tue Jan 31 09:39:39 2017 +0000 searchentry: Fix typo in documentation gtk/gtksearchentry.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2f6d60d6af40d7c20550c278334a07f1cac5da05 Author: Timm Bäder Date: Sun Jan 29 17:55:00 2017 +0100 stack: Fix node position during crossfade gtk/gtkstack.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) commit 2aea8dfee97b514e1fca7f577fefdac4e449e906 Author: Timm Bäder Date: Sat Jan 28 08:11:14 2017 +0100 togglebutton: Move :inconsistent to GtkCheckButton docs/reference/gtk/gtk4-sections.txt | 4 +- gtk/a11y/gtktogglebuttonaccessible.c | 17 +-------- gtk/gtkcheckbutton.c | 67 ++++++++++++++++++++++++++++++++++ gtk/gtkcheckbutton.h | 5 +++ gtk/gtktogglebutton.c | 71 ------------------------------------ gtk/gtktogglebutton.h | 6 --- tests/testgtk.c | 8 +--- 7 files changed, 78 insertions(+), 100 deletions(-) commit 66d584ce6e298a016e90a80091a5fc1f6f07ff2f Author: Timm Bäder Date: Fri Jan 27 12:02:47 2017 +0100 togglebutton: Move :draw-indicator property to GtkCheckButton It's not used in GtkToggleButton at all, only in GtkCheckButton and GtkRadioButton. docs/reference/gtk/gtk4-sections.txt | 4 +- gtk/gtkcheckbutton.c | 135 ++++++++++++++++++++++++++++++----- gtk/gtkcheckbutton.h | 5 ++ gtk/gtkradiobutton.c | 4 +- gtk/gtkradiotoolbutton.c | 2 +- gtk/gtkstackswitcher.c | 2 +- gtk/gtktogglebutton.c | 80 --------------------- gtk/gtktogglebutton.h | 5 -- tests/testbaseline.c | 1 - tests/testgtk.c | 6 +- 10 files changed, 132 insertions(+), 112 deletions(-) commit 1a0577b3f4a8d8567b8e59453b574073b01aba5a Author: Timm Bäder Date: Fri Jan 27 11:16:03 2017 +0100 checkbutton: Remove unused vfunc gtk/gtkcheckbutton.h | 3 --- 1 file changed, 3 deletions(-) commit eb0c5a6a6cc786ac795b81ee4d85e2d08aee6bcb Author: Timm Bäder Date: Fri Jan 27 11:07:41 2017 +0100 checkbutton: Remove unused function prototype gtk/gtkcheckbutton.h | 4 ---- 1 file changed, 4 deletions(-) commit 6c6ed7496c10e95ba159c141c24d57f7ccd3435f Author: Timm Bäder Date: Thu Jan 26 18:58:10 2017 +0100 widget: Remove gtk_widget_class_list_style_properties Unused. docs/reference/gtk/gtk4-sections.txt | 1 - gtk/gtkwidget.c | 29 ----------------------------- gtk/gtkwidget.h | 3 --- 3 files changed, 33 deletions(-) commit de56947e86a141debc87876df9a1e30719d01e38 Author: Timm Bäder Date: Sat Jan 28 18:24:30 2017 +0100 gtkbuilder: Remove unused struct gtk/gtkbuilderparser.c | 11 ----------- gtk/gtkbuilderprivate.h | 6 ------ 2 files changed, 17 deletions(-) commit c82fee4882db08947dbde1d4706eaf4303ec5399 Author: Timm Bäder Date: Thu Jan 26 13:31:56 2017 +0100 build: Stop compressing ui files It's slower at runtime. Instead, strip blanks. gtk/Makefile.am | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 2088cc3395069a5ffa1ab0e7aee000113159919e Author: William Hua Date: Sun Jan 29 11:24:43 2017 -0500 mir: handle surface placement events This allows the Mir backend to properly emit "moved-to-rect." gdk/mir/gdkmir-private.h | 2 + gdk/mir/gdkmir.h | 1 + gdk/mir/gdkmireventsource.c | 10 +++ gdk/mir/gdkmirwindowimpl.c | 207 ++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 220 insertions(+) commit b09b69472b15bd27ec9da6cbb3a98073c05bb88a Author: William Hua Date: Fri Jan 27 14:46:10 2017 -0500 mir: use mir_surface_spec_set_placement for menus This API was added to Mir for GTK menus, combo boxes, etc. gdk/mir/gdkmirwindowimpl.c | 240 ++++++++++++++++++++++++++++++--------------- 1 file changed, 159 insertions(+), 81 deletions(-) commit 18a00ec5b1cb6537af71769ae5ad54964f4ddc7f Author: Fran Dieguez Date: Sun Jan 29 19:59:21 2017 +0000 Update Galician translation po/gl.po | 2611 +++++++++++++++++++++++++++++++------------------------------- 1 file changed, 1286 insertions(+), 1325 deletions(-) commit d9c006ebfd2d07ccf3bf7d3eb0bd0a9635477e85 Author: Fran Dieguez Date: Sun Jan 29 19:48:13 2017 +0000 Update Galician translation po-properties/gl.po | 14244 ++++++++++++++++++++++++-------------------------- 1 file changed, 6908 insertions(+), 7336 deletions(-) commit a7bc2913454435d73232e7d1ae8f46b8112d69ae Author: Dušan Kazik Date: Sun Jan 29 09:32:03 2017 +0000 Update Slovak translation po/sk.po | 775 ++++++++++++++++++++++++++++++--------------------------------- 1 file changed, 370 insertions(+), 405 deletions(-) commit 1d401cd88048e4e53490066f2eafc662e1fe3807 Author: Dušan Kazik Date: Sun Jan 29 09:30:05 2017 +0000 Update Slovak translation po-properties/sk.po | 13912 ++++++++++++++++++++++++-------------------------- 1 file changed, 6729 insertions(+), 7183 deletions(-) commit 88ae92050e9f2379246fb6cceea1575cf7a7e569 Author: Daniel Boles Date: Sat Jan 28 20:21:56 2017 +0000 Remove tests/testtreemenu Since GtkTreeMenu became a private class only used by GtkComboBox, all this test actually did was to show a ComboBox constructed with a custom CellArea. Now that the latter is no longer possible, the test just shows a handful of settings that do nothing. Just test GtkComboBox directly. tests/Makefile.am | 5 - tests/testtreemenu.c | 546 --------------------------------------------------- 2 files changed, 551 deletions(-) commit bfaed659f195da17b34662ce148ab067e5f5c9b3 Author: Piotr Drąg Date: Sat Jan 28 01:10:12 2017 +0100 Fix translator comments They need to be exactly one line above a string to show up in .po files. gtk/gtkfilechooserwidget.c | 2 +- modules/printbackends/cups/gtkprintbackendcups.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) commit 03c026e6b6eb5c4967eadcb13f67c26df6658df3 Author: Michael Catanzaro Date: Fri Jan 27 08:54:24 2017 -0600 Revert "notebook: redraw arrows after closing a tab" This reverts commit 218beb2ef49d407b547047693605328c10d4877d. gtk/gtknotebook.c | 2 -- 1 file changed, 2 deletions(-) commit 4ebf98f440cda4b5e5b6fc72c9623acbeca1f81b Author: Carlos Garnacho Date: Wed Jan 25 15:53:55 2017 +0100 wayland: Ensure to set gtk_surface dbus properties after hide() Currently hiding destroys the wl_surface and all related interfaces, (including the gtk_surface1) so the next time the GdkWindow is mapped, we don't bother to set the DBus properties. Toggle the check off so it's actually issued again after the GdkWindow gets a gtk_surface1. https://bugzilla.gnome.org/show_bug.cgi?id=773686 gdk/wayland/gdkwindow-wayland.c | 1 + 1 file changed, 1 insertion(+) commit c8c4a940c4ce6b4a58df5c79562ce9cceea2f18e Author: Baurzhan Muftakhidinov Date: Wed Jan 25 09:11:28 2017 +0000 Update Kazakh translation po-properties/kk.po | 1503 ++++++++++++++++++++++++++------------------------- 1 file changed, 755 insertions(+), 748 deletions(-) commit c85072806d15fb0ea7f3084c67996ddd3e056f45 Author: Baurzhan Muftakhidinov Date: Wed Jan 25 09:08:46 2017 +0000 Update Kazakh translation po/kk.po | 987 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 478 insertions(+), 509 deletions(-) commit 218beb2ef49d407b547047693605328c10d4877d Author: Michael Catanzaro Date: Fri Jan 20 20:19:56 2017 -0600 notebook: redraw arrows after closing a tab https://bugzilla.gnome.org/show_bug.cgi?id=777547 gtk/gtknotebook.c | 2 ++ 1 file changed, 2 insertions(+) commit d2a88272bd927a6b0cd18f05e5a28d2f2fe256f5 Author: Mario Blättermann Date: Tue Jan 24 13:32:48 2017 +0000 Update German translation po/de.po | 2181 +++++++++++++++++++++++++++++--------------------------------- 1 file changed, 1033 insertions(+), 1148 deletions(-) commit 572639fed77542e648a234ab1d2509cf0e248200 Author: Timm Bäder Date: Sun Jan 22 15:01:53 2017 +0100 widget: Remove gtk_widget_get_preferred_size mention from docs Mention gtk_widget_measure instead. gtk/gtkwidget.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 82e49952e5c81cb9f42af3480569c85cc9411921 Author: Timm Bäder Date: Sun Jan 22 15:01:40 2017 +0100 flowbox: Measure child widget sizes using gtk_widget_measure gtk/gtkflowbox.c | 47 +++++++++++++++-------------------------------- 1 file changed, 15 insertions(+), 32 deletions(-) commit f05402ce2b9fa17affaa5411bc8034a9a7efb4ac Author: Timm Bäder Date: Sun Jan 22 14:48:28 2017 +0100 widget: Remove warning about already visible widgets That was just added by mistake of course. gtk/gtkwidget.c | 4 ---- 1 file changed, 4 deletions(-) commit 56a58655feeb6b700d243f98bc272cf967e38cf9 Author: Timm Bäder Date: Sun Jan 22 14:37:56 2017 +0100 Remove unnecessary gtk_widget_show calls gtk/gtkactionbar.c | 2 -- gtk/gtkcolorbutton.c | 1 - gtk/gtkcombobox.c | 2 -- gtk/gtkentrycompletion.c | 1 - gtk/gtkheaderbar.c | 6 ------ gtk/gtklistbox.c | 1 - gtk/gtkmenubutton.c | 1 - gtk/gtkmenuitem.c | 1 - gtk/gtkmenusectionbox.c | 10 ---------- gtk/gtkmodelbutton.c | 1 - gtk/gtkplacesview.c | 6 ------ gtk/gtkpopover.c | 1 - gtk/gtkscrolledwindow.c | 3 --- gtk/gtkshortcutlabel.c | 3 --- gtk/gtkshortcutssection.c | 3 --- gtk/gtkshortcutswindow.c | 4 ---- gtk/gtktoolbar.c | 2 -- gtk/gtktoolbutton.c | 4 ---- gtk/gtktreemenu.c | 4 ---- gtk/gtktreeviewcolumn.c | 5 ----- gtk/gtkwidget.c | 4 ++++ gtk/ui/gtkcoloreditor.ui | 18 ----------------- gtk/ui/gtkcombobox.ui | 4 ---- gtk/ui/gtkdialog.ui | 4 ---- gtk/ui/gtkfilechooserwidget.ui | 2 -- gtk/ui/gtklockbutton.ui | 5 ----- gtk/ui/gtkpathbar.ui | 4 ---- gtk/ui/gtkplacesview.ui | 45 ------------------------------------------ gtk/ui/gtkscalebutton.ui | 5 ----- gtk/ui/gtksearchbar.ui | 6 ------ gtk/ui/gtksidebarrow.ui | 7 ------- gtk/ui/gtkstatusbar.ui | 3 --- gtk/ui/gtkvolumebutton.ui | 1 - 33 files changed, 4 insertions(+), 165 deletions(-) commit dc904ffaf92132fdaa956340349c95fb5f7ebcfa Author: Timm Bäder Date: Sat Jan 21 08:45:44 2017 +0100 gtkfontbutton: hexpand the font label To restore the previous look. gtk/gtkfontbutton.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 19e2f347e185789ab39492bb63f492d15b1d0874 Author: Daniel Boles Date: Sat Jan 21 22:43:35 2017 +0000 3to4: Fix typo in previous commit docs/reference/gtk/migrating-3to4.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0a347c6ff297afcc43a531fbc9141fc4e1909cd8 Author: Daniel Boles Date: Sat Jan 21 22:39:06 2017 +0000 3to4: Fix suggested replacements for border-width The new CSS border-spacing does what Grid::(row|column)_spacing and Box::spacing already did, i.e. controlling the space added between child widgets, so it’s not a replacement for Container::border-width. docs/reference/gtk/migrating-3to4.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 90b9dc458fd3353f0ae4f4c5ab45ac5dd304fbbb Author: Daniel Boles Date: Sat Jan 21 20:40:21 2017 +0000 combobox: Stop pointlessly NULL-checking the menu We now have a valid menu to use at all times. gtk/gtkcombobox.c | 62 ++++++++++++++----------------------------------------- 1 file changed, 16 insertions(+), 46 deletions(-) commit 8c980445e3763e7a9adc25d8df1798baffaf4cdb Author: Daniel Boles Date: Sat Jan 21 20:23:27 2017 +0000 combobox: Move area and menu to .ui file Now that priv->area is guaranteed to be constructed by us, and not passed in by a user, we can move it to the .ui file and stop manually managing its lifetime altogether. And once the area is there, we can move the menu there too (and stop pointlessly destroying/rebuilding it). gtk/gtkcombobox.c | 187 +++++++++++--------------------------------------- gtk/ui/gtkcombobox.ui | 9 +++ 2 files changed, 48 insertions(+), 148 deletions(-) commit 439fcf75787e48a021981a0412c287187b7894d7 Author: Daniel Boles Date: Sat Jan 21 12:54:49 2017 +0000 combobox: Remove property cell-area The CellArea is going to become a pure implementation detail & be moved to the .ui, instead of letting users mess with it (if anyone ever did). docs/reference/gtk/gtk4-sections.txt | 2 - gtk/gtkcombobox.c | 76 +--------------------------------- gtk/gtkcombobox.h | 4 -- tests/testtreemenu.c | 9 ---- testsuite/gtk/cellarea.c | 80 ------------------------------------ 5 files changed, 1 insertion(+), 170 deletions(-) commit 36413a8eca48c74a0a2719035ceca1b097930d41 Author: Daniel Boles Date: Sat Jan 21 15:11:40 2017 +0000 combobox: Reuse code rather than reimplementing it We already have cell_layout_is_sensitive() to get whether at least one cell in a Layout is sensitive, which we need because CellLayout/View do not implement foreach(). So, since we wrote that, we can use it to check our CellArea too, instead of doing foreach with a custom callback. gtk/gtkcombobox.c | 27 ++------------------------- 1 file changed, 2 insertions(+), 25 deletions(-) commit c7e4c82df45f2a8671c53c10c30b664ad655bd52 Author: Daniel Boles Date: Sat Jan 21 14:44:30 2017 +0000 combobox: some code cleanups * Merge adjacent if statements with the same condition * Add a space between a function and its declaration gtk/gtkcombobox.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) commit c5c0127e109ca3c207d0b5d31cb54e3494d7bf36 Author: Daniel Boles Date: Sat Jan 21 18:53:38 2017 +0000 menushell: Fix select_last() to get last, not 1st It was broken in the same way as select_first(), as explained in commit a5211adb225172195d6778d652b58632c38afcbf gtk/gtkmenushell.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) commit c662e691ed1e751abe5b30d548599950123344a7 Author: Daniel Boles Date: Sat Jan 21 16:10:32 2017 +0000 combobox: Fix documentation typo bx => box gtk/gtkcombobox.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a5211adb225172195d6778d652b58632c38afcbf Author: Daniel Boles Date: Sat Jan 21 15:50:54 2017 +0000 menushell: Make select_first() do that, not last… It was looping over all items, not breaking out when it found the first selectable one, and then selecting the _last_ selectable one (if any) found. So, it did exactly the opposite of its name. This made me quite baffled when opening a submenu with right-arrow put me at its last item. Originally, the loop set to_select and broke if the current item was selectable and not tear-off, meaning that it would correctly select the first suitable item. However, when tear-off functionality was removed in commit 4ed9452e9028bb90589474783cebac57ab66e2c9, so was the break. gtk/gtkmenushell.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) commit 06269bf3679360705607298e73ff7a6975f3aec3 Author: Piotr Drąg Date: Fri Jan 20 23:47:04 2017 +0100 Update Polish translation po-properties/pl.po | 5646 ++++++++++++++++----------------------------------- po/pl.po | 1872 +++++++---------- 2 files changed, 2425 insertions(+), 5093 deletions(-) commit e47bd31e6ada68585a8c31d50791add42bf07ae6 Author: Piotr Drąg Date: Fri Jan 20 23:46:38 2017 +0100 Fix CSS spelling in a translatable string gtk/gtkwidget.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 71d7a1b3d013a17c6d8a326fb9e00ee96e69b37f Author: Daniel Boles Date: Fri Jan 20 22:15:42 2017 +0000 menushell: Don’t dereference before typechecking gtk/gtkmenushell.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) commit aca0422d843f870f0d381a7417141e518a337050 Author: Piotr Drąg Date: Fri Jan 20 22:11:22 2017 +0100 Update POTFILES.in and POTFILES.skip po-properties/POTFILES.skip | 2 -- po/POTFILES.in | 2 -- 2 files changed, 4 deletions(-) commit 802f838aa080f803e337bac122cea1163cfdbf0b Author: Daniel Boles Date: Fri Jan 20 20:43:19 2017 +0000 combobox: If typechecking, don’t reference before gtk/gtkcombobox.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) commit ab051fd53f8176665c36620a1616014e4c9a59df Author: Timm Bäder Date: Fri Jan 20 10:37:29 2017 +0100 Don't hide windows and popovers in init() Instead, don't make them visible in gtk_widget_init in the first place. gtk/gtkpopover.c | 2 -- gtk/gtkwidget.c | 14 ++++++++++++-- gtk/gtkwindow.c | 3 --- 3 files changed, 12 insertions(+), 7 deletions(-) commit b1408c9694e6c7b7b207f985bfbe751deed23925 Author: Timm Bäder Date: Thu Jan 19 20:15:43 2017 +0100 fontbutton: Be a GtkWidget gtk/Makefile.am | 1 - gtk/gtkfontbutton.c | 93 +++++++++++++++++++++++++++++++++++++++---------- gtk/gtkfontbutton.h | 4 +-- gtk/ui/gtkfontbutton.ui | 51 --------------------------- 4 files changed, 76 insertions(+), 73 deletions(-) commit 6376aaf44b011a8203792c31a629feeb582e834e Author: Timm Bäder Date: Thu Jan 19 15:02:59 2017 +0100 assistant: Don't forget to remove child widgets gtk/gtkassistant.c | 4 ++++ 1 file changed, 4 insertions(+) commit 0f2e043c3d1e91fd9eaeb2dfde9d8282392b7aa9 Author: Timm Bäder Date: Thu Jan 19 14:37:51 2017 +0100 toolitemgroup: Properly remove internal child widget We now need to use gtk_widget_unparent and can't just destroy it. gtk/gtktoolitemgroup.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 4bd2a9bca95b743706cccf4d2e7d46312696a124 Author: Timm Bäder Date: Thu Jan 19 14:34:42 2017 +0100 popovermenu: Remove forall implementation gtk/gtkpopovermenu.c | 17 ----------------- 1 file changed, 17 deletions(-) commit 3fb4b079e19082d7960d67ee0f8153af87aabfd8 Author: Timm Bäder Date: Thu Jan 19 12:30:23 2017 +0100 button: Don't explicitly show child widgets gtk/gtkbutton.c | 3 --- 1 file changed, 3 deletions(-) commit c36ad400fa645c4bd54b8f3ae5796c44a59bf4dc Author: Timm Bäder Date: Thu Jan 19 12:26:56 2017 +0100 recorder: Adapt to widget visibility changes We now need to explicitly hide the details label. gtk/inspector/recorder.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) commit 3ec15d98facb23b640fbedcc6d28630a3762b0da Author: Timm Bäder Date: Thu Jan 19 11:00:30 2017 +0100 Fix some widget visibility fallout gtk/ui/gtkfilechooserwidget.ui | 3 +-- gtk/ui/gtkplacesviewrow.ui | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) commit f4341ee9f790ab4f57bf553e08eea37e5b4ba675 Author: Timm Bäder Date: Thu Jan 19 10:31:03 2017 +0100 widget: Remove show-all property Doesn't make sense anymore now that gtk_widget_show_all is gone. demos/gtk-demo/application.ui | 2 +- demos/gtk-demo/toolpalette.c | 2 +- demos/widget-factory/widget-factory.ui | 4 +-- docs/reference/gtk/gtk4-sections.txt | 2 -- docs/tools/widgets.c | 2 +- gtk/gtkassistant.c | 2 -- gtk/gtkcolorchooserwidget.c | 4 +-- gtk/gtkdialog.c | 2 -- gtk/gtkheaderbar.c | 2 -- gtk/gtkinfobar.c | 2 -- gtk/gtkmessagedialog.c | 2 +- gtk/gtkmodelbutton.c | 4 +-- gtk/gtkrecentchoosermenu.c | 1 - gtk/gtksearchbar.c | 1 - gtk/gtkshortcutssection.c | 4 +-- gtk/gtkshortcutsshortcut.c | 9 ++--- gtk/gtkstacksidebar.c | 3 -- gtk/gtkwidget.c | 64 ---------------------------------- gtk/gtkwidget.h | 5 --- gtk/gtkwidgetprivate.h | 1 - gtk/ui/gtkaboutdialog.ui | 18 +++++----- gtk/ui/gtkappchooserwidget.ui | 2 +- gtk/ui/gtkassistant.ui | 10 +++--- gtk/ui/gtkcoloreditor.ui | 3 -- gtk/ui/gtkfilechooserwidget.ui | 5 ++- gtk/ui/gtkfontbutton.ui | 1 - gtk/ui/gtkinfobar.ui | 1 + gtk/ui/gtkmessagedialog.ui | 2 +- gtk/ui/gtksearchbar.ui | 2 +- gtk/ui/gtksidebarrow.ui | 1 - tests/selectionmode.ui | 8 ++--- tests/testscrolledge.c | 2 +- 32 files changed, 34 insertions(+), 139 deletions(-) commit ea897c6df44c37f573b7ed8e81ad87a9fd5b1009 Author: Timm Bäder Date: Thu Jan 19 10:02:04 2017 +0100 Remove gtk_widget_show_all demos/gtk-demo/assistant.c | 2 - demos/gtk-demo/builder.c | 2 +- demos/gtk-demo/button_box.c | 2 +- demos/gtk-demo/changedisplay.c | 5 +- demos/gtk-demo/clipboard.c | 2 +- demos/gtk-demo/colorsel.c | 4 +- demos/gtk-demo/combobox.c | 2 +- demos/gtk-demo/css_accordion.c | 2 +- demos/gtk-demo/css_basics.c | 2 +- demos/gtk-demo/css_blendmodes.c | 2 +- demos/gtk-demo/css_multiplebgs.c | 2 +- demos/gtk-demo/css_pixbufs.c | 2 +- demos/gtk-demo/css_shadows.c | 2 +- demos/gtk-demo/cursors.c | 2 +- demos/gtk-demo/dialog.c | 3 +- demos/gtk-demo/drawingarea.c | 2 +- demos/gtk-demo/editable_cells.c | 2 +- demos/gtk-demo/entry_buffer.c | 2 +- demos/gtk-demo/entry_completion.c | 2 +- demos/gtk-demo/event_axes.c | 2 +- demos/gtk-demo/expander.c | 3 +- demos/gtk-demo/filtermodel.c | 2 +- demos/gtk-demo/flowbox.c | 3 - demos/gtk-demo/foreigndrawing.c | 2 +- demos/gtk-demo/gestures.c | 2 +- demos/gtk-demo/glarea.c | 2 +- demos/gtk-demo/headerbar.c | 2 +- demos/gtk-demo/hypertext.c | 2 - demos/gtk-demo/iconview.c | 2 +- demos/gtk-demo/iconview_edit.c | 2 +- demos/gtk-demo/images.c | 2 +- demos/gtk-demo/infobar.c | 5 +- demos/gtk-demo/list_store.c | 2 +- demos/gtk-demo/listbox.c | 2 - demos/gtk-demo/main.c | 5 +- demos/gtk-demo/markup.c | 3 - demos/gtk-demo/modelbutton.c | 2 +- demos/gtk-demo/overlay.c | 2 - demos/gtk-demo/overlay2.c | 2 - demos/gtk-demo/panes.c | 2 - demos/gtk-demo/pickers.c | 2 +- demos/gtk-demo/pixbufs.c | 2 +- demos/gtk-demo/popover.c | 2 +- demos/gtk-demo/revealer.c | 2 +- demos/gtk-demo/rotated_text.c | 2 +- demos/gtk-demo/scale.c | 2 +- demos/gtk-demo/search_entry.c | 4 +- demos/gtk-demo/search_entry2.c | 2 +- demos/gtk-demo/shortcuts.c | 2 +- demos/gtk-demo/sidebar.c | 2 +- demos/gtk-demo/sizegroup.c | 2 +- demos/gtk-demo/spinbutton.c | 2 +- demos/gtk-demo/spinner.c | 2 +- demos/gtk-demo/stack.c | 2 +- demos/gtk-demo/tabs.c | 2 - demos/gtk-demo/textmask.c | 2 +- demos/gtk-demo/textscroll.c | 2 +- demos/gtk-demo/textview.c | 6 +- demos/gtk-demo/theming_style_classes.c | 1 - demos/gtk-demo/toolpalette.c | 4 +- demos/gtk-demo/transparent.c | 2 +- demos/gtk-demo/tree_store.c | 2 +- demos/widget-factory/widget-factory.c | 4 +- docs/reference/gtk/gtk4-sections.txt | 1 - docs/tools/widgets.c | 3 +- examples/action-namespace.c | 4 +- examples/bp/bloatpad.c | 4 +- examples/drawing.c | 2 +- examples/grid-packing.c | 7 +-- examples/hello-world.c | 2 +- examples/plugman.c | 2 +- examples/sunny.c | 2 +- examples/window-default.c | 2 +- gtk/gtkapplicationwindow.c | 1 - gtk/gtkcellrendereraccel.c | 1 - gtk/gtkcolorchooserwidget.c | 4 -- gtk/gtkcolorswatch.c | 1 - gtk/gtkdialog.c | 2 +- gtk/gtkentrycompletion.c | 2 +- gtk/gtkfilechooserdialog.c | 1 - gtk/gtkfilechooserwidget.c | 1 - gtk/gtkheaderbar.c | 4 -- gtk/gtklistbox.h | 7 +-- gtk/gtkmain.c | 4 +- gtk/gtkmenubutton.c | 2 +- gtk/gtkmenusectionbox.c | 2 - gtk/gtkmenutoolbutton.c | 3 - gtk/gtkmountoperation.c | 8 +-- gtk/gtkpathbar.c | 5 +- gtk/gtkplacessidebar.c | 6 +- gtk/gtkplacesview.c | 7 +-- gtk/gtkprintbackend.c | 2 +- gtk/gtkradiobutton.c | 2 +- gtk/gtkrecentchoosermenu.c | 1 - gtk/gtksidebarrow.c | 2 +- gtk/gtkspinbutton.c | 4 +- gtk/gtkstackswitcher.c | 1 - gtk/gtktogglebutton.c | 2 +- gtk/gtktoolbar.c | 2 +- gtk/gtktoolitemgroup.c | 1 - gtk/gtkwidget.c | 17 +---- gtk/gtkwidget.h | 2 - gtk/gtkwindow.c | 1 - gtk/inspector/action-editor.c | 4 -- gtk/inspector/general.c | 2 - gtk/inspector/prop-editor.c | 5 -- gtk/inspector/size-groups.c | 2 - tests/animated-resizing.c | 2 +- tests/animated-revealing.c | 2 +- tests/listmodel.c | 2 +- tests/motion-compression.c | 2 +- tests/overlayscroll.c | 2 +- tests/print-editor.c | 2 +- tests/scrolling-performance.c | 2 +- tests/stresstest-toolbar.c | 3 +- tests/syncscroll.c | 2 +- tests/testaccel.c | 2 +- tests/testactionbar.c | 2 +- tests/testadjustsize.c | 10 ++- tests/testanimation.c | 4 +- tests/testappchooser.c | 2 +- tests/testappchooserbutton.c | 2 +- tests/testassistant.c | 10 +-- tests/testbaseline.c | 2 +- tests/testbbox.c | 2 +- tests/testbox.c | 4 +- tests/testboxcss.c | 2 +- tests/testbuttons.c | 2 +- tests/testcairo.c | 2 +- tests/testcalendar.c | 2 +- tests/testcellrenderertext.c | 2 +- tests/testclipboard.c | 2 +- tests/testcolorchooser.c | 2 +- tests/testcombo.c | 2 +- tests/testcombochange.c | 2 +- tests/testdnd.c | 4 +- tests/testdnd2.c | 2 +- tests/testellipsise.c | 2 +- tests/testemblems.c | 2 +- tests/testentrycompletion.c | 2 +- tests/testentryicons.c | 2 +- tests/testexpand.c | 4 +- tests/testexpander.c | 1 - tests/testfilechooser.c | 4 +- tests/testfilechooserbutton.c | 2 +- tests/testflowbox.c | 3 - tests/testfontchooser.c | 2 +- tests/testfontchooserdialog.c | 2 +- tests/testfontoptions.c | 2 +- tests/testframe.c | 2 +- tests/testfullscreen.c | 2 +- tests/testgaction.c | 2 +- tests/testgiconpixbuf.c | 2 +- tests/testglblending.c | 2 +- tests/testgmenu.c | 2 +- tests/testgrid.c | 18 +++--- tests/testgrouping.c | 2 +- tests/testgtk.c | 110 ++++++++++++++++----------------- tests/testheaderbar.c | 4 +- tests/testicontheme.c | 4 +- tests/testiconview-keynav.c | 2 +- tests/testiconview.c | 2 +- tests/testimage.c | 2 +- tests/testlevelbar.c | 2 +- tests/testlist.c | 3 +- tests/testlist2.c | 3 +- tests/testlist3.c | 2 +- tests/testlockbutton.c | 4 +- tests/testlogout.c | 2 +- tests/testmenubutton.c | 4 +- tests/testmultidisplay.c | 3 +- tests/testnoscreen.c | 2 +- tests/testnotebookdnd.c | 4 +- tests/testorientable.c | 2 +- tests/testoverlay.c | 18 +++--- tests/testoverlaystyleclass.c | 2 +- tests/testpixbuf-scale.c | 4 +- tests/testplacesview.c | 2 +- tests/testpopover.c | 2 +- tests/testpopup.c | 2 +- tests/testpopupat.c | 2 +- tests/testrecentchooser.c | 4 +- tests/testrecentchoosermenu.c | 2 +- tests/testrevealer.c | 2 +- tests/testrevealer2.c | 3 - tests/testrichtext.c | 2 +- tests/testscale.c | 4 +- tests/testscrolledge.c | 3 +- tests/testscrolledwindow.c | 3 - tests/testselectionmode.c | 2 +- tests/testsensitive.c | 2 +- tests/testspinbutton.c | 2 +- tests/teststack.c | 2 +- tests/testthreads.c | 2 +- tests/testtitlebar.c | 2 +- tests/testtoolbar.c | 4 +- tests/testtoolbar2.c | 2 +- tests/testtooltips.c | 2 +- tests/testtoplevelembed.c | 4 +- tests/testtreechanging.c | 2 +- tests/testtreecolumns.c | 6 +- tests/testtreecolumnsizing.c | 2 +- tests/testtreednd.c | 2 +- tests/testtreeedit.c | 2 +- tests/testtreeflow.c | 2 +- tests/testtreefocus.c | 4 +- tests/testtreepos.c | 2 +- tests/testtreesort.c | 6 +- tests/testtreeview.c | 2 +- tests/testverticalcells.c | 2 +- tests/testvolumebutton.c | 2 +- tests/testwindowsize.c | 2 +- tests/testxinerama.c | 2 +- tests/treestoretest.c | 2 +- tests/video-timer.c | 2 +- tests/visuals/visuals.c | 2 +- testsuite/a11y/testfocus.c | 2 +- testsuite/gtk/builder.c | 4 +- testsuite/gtk/displayclose.c | 2 +- testsuite/gtk/focus.c | 2 - testsuite/gtk/gestures.c | 28 ++++----- testsuite/gtk/revealer-size.c | 1 - testsuite/gtk/scrolledwindow.c | 1 - testsuite/gtk/treeview.c | 2 +- testsuite/gtk/window.c | 4 +- 225 files changed, 307 insertions(+), 450 deletions(-) commit 13b001b77ca3907b4ff1246208755478421a7b32 Author: Timm Bäder Date: Thu Jan 19 08:50:37 2017 +0100 widget: Remove show_all vfunc gtk/gtkfilechooserwidget.c | 18 ------------------ gtk/gtkmenu.c | 10 ---------- gtk/gtkmenuitem.c | 16 ---------------- gtk/gtkrecentchooserdefault.c | 13 ------------- gtk/gtktoolbar.c | 30 ------------------------------ gtk/gtkwidget.c | 29 +---------------------------- gtk/gtkwidget.h | 3 --- 7 files changed, 1 insertion(+), 118 deletions(-) commit 5f57e3b71106c7ff09ba308bfc1b8162ebfc8522 Author: Timm Bäder Date: Wed Jan 18 22:21:42 2017 +0100 filechooserbutton: Be a GtkWidget Instead of subclassing GtkBox to have 2 child widgets, subclass GtkWidget and only render one of them. gtk/Makefile.am | 1 - gtk/gtkfilechooserbutton.c | 159 +++++++++++++++++++++++++++-------------- gtk/gtkfilechooserbutton.h | 4 +- gtk/ui/gtkfilechooserbutton.ui | 113 ----------------------------- 4 files changed, 109 insertions(+), 168 deletions(-) commit d862c5c6dfa19501ad22ace7938af8f88cf993b6 Author: Timm Bäder Date: Mon Jan 16 18:47:31 2017 +0100 sizerequest: Use gtk_widget_measure to measure widget sizes gtk/gtksizerequest.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) commit 9679c4f0e09e018d71fe7e7ac3ede840e44cd5f6 Author: Timm Bäder Date: Sat Jan 14 10:08:53 2017 +0100 gtkbuilder: Improve error messages gtk/gtkbuilder.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 2a84be4ae5f72f840c35237d4f4147084bb9da61 Author: Timm Bäder Date: Thu Jan 12 17:13:19 2017 +0100 shortcutswindow: Unset search_bar in dispose And check for null-ness in unmap. This prevents a crash when the window is first disposed and then unmapped. gtk/gtkshortcutswindow.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 5dbf8458f50c1ba6f41e97f0cfcf25714c46ff51 Author: Timm Bäder Date: Thu Jan 12 13:10:14 2017 +0100 shortcutswindow: Use GtkButton:icon-name for search button gtk/gtkshortcutswindow.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) commit 524bf22db796d70c07ac75a240aefef7c46e2b92 Author: Timm Bäder Date: Thu Jan 12 12:59:06 2017 +0100 shortcutsshortcut: Be a GtkWidget Instead of subclassing GtkBox and overriding _add to not work, subclass GtkWidget and add a normal GtkBox as a child widget. gtk/gtkshortcutsshortcut.c | 74 ++++++++++++++++++++++++++++++---------------- 1 file changed, 49 insertions(+), 25 deletions(-) commit 8085884277fd45df7aa212390223b0aa78b68cab Author: Timm Bäder Date: Thu Jan 12 11:26:55 2017 +0100 gtkshortcutswindow: Adapt to GtkWidget visibility changes gtk/gtkshortcutssection.c | 2 ++ gtk/gtkshortcutswindow.c | 18 ------------------ 2 files changed, 2 insertions(+), 18 deletions(-) commit 020d366ed6f61c97efb59cf711c033b491c853f5 Author: Timm Bäder Date: Thu Jan 12 10:12:31 2017 +0100 widget-factory: Remove some gtk3-widget-factory leftovers demos/widget-factory/widget-factory.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 02c28877723dcde3e559210d93e52961997ed122 Author: Timm Bäder Date: Thu Jan 12 10:04:35 2017 +0100 filechooser: adapt to GtkWidget:visible changes gtk/ui/gtkfilechooserdialog.ui | 1 - gtk/ui/gtkfilechooserwidget.ui | 40 +++++----------------------------------- 2 files changed, 5 insertions(+), 36 deletions(-) commit 8b3f5ce9a48448c08b2ef47dc22f5c52048f384d Author: Timm Bäder Date: Thu Jan 12 09:47:50 2017 +0100 widget-factory: Adapt to GtkWidget visibility changes Make the infobar and the toolbar invisible by default and remove all the lines showing the other widgets. demos/widget-factory/widget-factory.ui | 387 +-------------------------------- 1 file changed, 2 insertions(+), 385 deletions(-) commit b1eccd770e094209c607513a63765a02bc0021e7 Author: Timm Bäder Date: Thu Jan 12 09:43:45 2017 +0100 coloreditor: Hide overlay boxes gtk/ui/gtkcoloreditor.ui | 3 +++ 1 file changed, 3 insertions(+) commit 33d41fccdda9fbd5c1e59951a27720748ce15026 Author: Timm Bäder Date: Thu Jan 12 09:43:17 2017 +0100 Hide popovers and toplevels by default gtk/gtkpopover.c | 2 ++ gtk/gtkwindow.c | 3 +++ 2 files changed, 5 insertions(+) commit fee788cd4ac109b9a1e967228f96de7ff2aa8baf Author: Timm Bäder Date: Thu Jan 12 09:29:59 2017 +0100 widget: Be visible by default gtk/gtkwidget.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 360fbd0920a8b45203929d782ee10f0b60998cb0 Author: Daniel Boles Date: Fri Jan 20 03:30:36 2017 +0000 combobox: popdown() the menu during unmap() combo_box_popdown() currently skips popping down our menu if it is NULL. But the required call to this at end-of-life was in destroy(), by which point dispose() already NULLed the menu, so Menu::popdown() would never run, even if it should. Fix this by trying popdown() earlier in unmap(). Also, add a converse assurance that we don’t popup() while not mapped. Even once we remove all the now-pointless NULL checks, destroy() was the wrong place to call combo_box_popdown(), and unmap() is the right place. gtk/gtkcombobox.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) commit f686dfb575e1279721d11aaab1a98a9335f0dced Author: Carlos Garnacho Date: Fri Jan 20 14:04:29 2017 +0100 Revert "wayland: Push NULL buffer when hiding a GdkWindow" This reverts commit 6beb0b91c91dd4a018b0fe2c39f5687a00938821. gdk/wayland/gdkwindow-wayland.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) commit 95e0b494dfbb85f5f61ddb31bac8472400e7543c Author: Mandy Wang Date: Fri Jan 20 20:37:01 2017 +0800 update zh_CN translation po/zh_CN.po | 2248 +++++++++++++++++++++++++++++++++-------------------------- 1 file changed, 1262 insertions(+), 986 deletions(-) commit 3629def0d0a5ce8eec39603a0c3658aae565506e Author: Chun-wei Fan Date: Fri Jan 20 18:38:53 2017 +0800 gtkmain: Fix build on Windows gtk_init() removed its support for supporting arguments, so we ought to do likewise for Windows, which actually defines items that call gtk_init() the old way (and also get rid of argument support in those functions, since the direction is to not support them). https://bugzilla.gnome.org/show_bug.cgi?id=773299 gtk/gtkmain.c | 8 ++++---- gtk/gtkmain.h | 12 ++++-------- 2 files changed, 8 insertions(+), 12 deletions(-) commit f31aad39632685b8550a3b14db68adb740680c06 Author: Chun-wei Fan Date: Fri Jan 20 18:35:52 2017 +0800 Visual Studio builds: Update GSK project Another GSK Vulkan renderer source was added for the build, so include it here. win32/vs12/gsk-4.vcxproj.filtersin | 1 + win32/vs12/gsk-4.vcxprojin | 4 ++++ 2 files changed, 5 insertions(+) commit f8b6831c98da5da13a17528ce44d01e84f750568 Author: Benjamin Otte Date: Wed Jan 18 22:41:20 2017 +0100 gtk: Register GSK resources at startup That way they show up in the resource list in the inspector even when running with the Cairo renderer. gtk/gtkmain.c | 2 ++ 1 file changed, 2 insertions(+) commit 68824e80fda205da100170ac0543f6fd23851527 Author: Daniel Boles Date: Thu Jan 19 22:28:41 2017 +0000 combobox: Remove dead code & unneeded type checks Commit fdc0c6426b6fb751653f3a8536a344f69a6407ac removed the appears-as- list style property, & hence the ability to put the ComboBox into list mode – but it left behind a pile of hijinks that were only used in said mode & so were now doing absolutely nothing. This commit deletes those. While doing that, I got carried away…so this also stops pointlessly type checking popup_widget, as that can never be anything but a GtkTreeMenu. It still checks for NULL everywhere, which shouldn’t be needed, but (A) this commit is already too big, & (B) simply removing such checks where they _seem_ unnecessary causes bad times. I’ll puzzle through that later gtk/gtkcombobox.c | 475 ++++++++---------------------------------------------- 1 file changed, 66 insertions(+), 409 deletions(-) commit d7c3d86f02d15f8de1e9a376b9c0e78b336a9a2b Author: Daniel Boles Date: Thu Jan 19 21:51:22 2017 +0000 testcombo—Don’t set appears-as-list style property List mode no longer exists, so this had no effect. tests/testcombo.c | 14 -------------- 1 file changed, 14 deletions(-) commit c790724469942adc1dfb906dbdc68ee28ccb3b33 Author: Daniel Boles Date: Thu Jan 19 21:23:51 2017 +0000 combobox: Make wrap-width and grid mode work again Commit fdc0c6426b6fb751653f3a8536a344f69a6407ac for removing (partly!) appears-as-list also deleted the code that propagated wrap-width to the TreeMenu and thus put us into “grid mode”. This restores that code. And as Benjamin noted, calling check_appearance() here is wrong, so bye. gtk/gtkcombobox.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 47bc8603b0cb1676ce5887de3aeba511a5f85ad6 Author: Matthias Clasen Date: Thu Jan 19 13:52:52 2017 -0500 Add a section about initialization to the migration guide Just the facts. docs/reference/gtk/migrating-3to4.xml | 12 ++++++++++++ 1 file changed, 12 insertions(+) commit 2c7e567f05eb31aa3b78ed83fd92a09153525210 Author: Matthias Clasen Date: Wed Dec 28 08:53:22 2016 -0500 Update callers Adapt all our tests and examples to the new initialization api. docs/tools/shooter.c | 2 +- examples/builder.c | 2 +- gtk/gtk-builder-tool.c | 2 +- gtk/gtk-launch.c | 2 +- gtk/gtk-query-settings.c | 2 +- gtk/gtkapplication.c | 2 +- gtk/gtktestutils.c | 2 +- tests/animated-resizing.c | 4 ++-- tests/animated-revealing.c | 4 ++-- tests/flicker.c | 2 +- tests/gdkgears.c | 2 +- tests/listmodel.c | 2 +- tests/motion-compression.c | 2 +- tests/overlayscroll.c | 2 +- tests/print-editor.c | 2 +- tests/rendernode-create-tests.c | 2 +- tests/rendernode.c | 8 ++++++-- tests/scrolling-performance.c | 4 ++-- tests/simple.c | 2 +- tests/stresstest-toolbar.c | 2 +- tests/syncscroll.c | 2 +- tests/testaccel.c | 2 +- tests/testadjustsize.c | 2 +- tests/testanimation.c | 2 +- tests/testappchooser.c | 2 +- tests/testappchooserbutton.c | 2 +- tests/testassistant.c | 2 +- tests/testbaseline.c | 2 +- tests/testbbox.c | 2 +- tests/testbox.c | 2 +- tests/testboxcss.c | 2 +- tests/testbuttons.c | 2 +- tests/testcairo.c | 2 +- tests/testcalendar.c | 2 +- tests/testcellarea.c | 2 +- tests/testcellrenderertext.c | 2 +- tests/testclipboard.c | 2 +- tests/testcolorchooser.c | 2 +- tests/testcolorchooser2.c | 2 +- tests/testcombo.c | 2 +- tests/testcombochange.c | 2 +- tests/testdialog.c | 2 +- tests/testdnd.c | 2 +- tests/testdnd2.c | 2 +- tests/testellipsise.c | 2 +- tests/testemblems.c | 2 +- tests/testentrycompletion.c | 2 +- tests/testentryicons.c | 2 +- tests/testerrors.c | 2 +- tests/testexpand.c | 2 +- tests/testexpander.c | 2 +- tests/testfilechooser.c | 8 +++++++- tests/testfilechooserbutton.c | 3 +-- tests/testflowbox.c | 2 +- tests/testfontchooser.c | 2 +- tests/testfontchooserdialog.c | 2 +- tests/testfontoptions.c | 2 +- tests/testframe.c | 2 +- tests/testfullscreen.c | 2 +- tests/testgaction.c | 2 +- tests/testgiconpixbuf.c | 2 +- tests/testglarea.c | 2 +- tests/testglblending.c | 2 +- tests/testgmenu.c | 6 +++++- tests/testgrid.c | 2 +- tests/testgrouping.c | 2 +- tests/testgtk.c | 2 +- tests/testheaderbar.c | 2 +- tests/testheightforwidth.c | 2 +- tests/testicontheme.c | 2 +- tests/testiconview-keynav.c | 2 +- tests/testiconview.c | 2 +- tests/testimage.c | 2 +- tests/testinput.c | 2 +- tests/testkineticscrolling.c | 2 +- tests/testlevelbar.c | 2 +- tests/testlist.c | 2 +- tests/testlist2.c | 2 +- tests/testlist3.c | 2 +- tests/testlockbutton.c | 2 +- tests/testmenubutton.c | 2 +- tests/testmountoperation.c | 8 +++++++- tests/testmultidisplay.c | 2 +- tests/testnoscreen.c | 6 +++++- tests/testnotebookdnd.c | 2 +- tests/testorientable.c | 2 +- tests/testoverlay.c | 2 +- tests/testoverlaystyleclass.c | 2 +- tests/testpixbuf-scale.c | 2 +- tests/testplacesview.c | 2 +- tests/testpopover.c | 2 +- tests/testpopup.c | 2 +- tests/testpopupat.c | 2 +- tests/testprint.c | 2 +- tests/testrc.c | 2 +- tests/testrecentchooser.c | 2 +- tests/testrecentchoosermenu.c | 2 +- tests/testrevealer.c | 2 +- tests/testrichtext.c | 2 +- tests/testscale.c | 2 +- tests/testscrolledge.c | 2 +- tests/testscrolledwindow.c | 2 +- tests/testselection.c | 2 +- tests/testselectionmode.c | 2 +- tests/testsensitive.c | 2 +- tests/testspinbutton.c | 2 +- tests/testsplitheaders.c | 2 +- tests/teststack.c | 2 +- tests/teststackedheaders.c | 2 +- tests/testswitch.c | 2 +- tests/testtextview.c | 2 +- tests/testthreads.c | 2 +- tests/testtoolbar.c | 2 +- tests/testtoolbar2.c | 2 +- tests/testtooltips.c | 2 +- tests/testtoplevelembed.c | 2 +- tests/testtreechanging.c | 2 +- tests/testtreecolumns.c | 2 +- tests/testtreecolumnsizing.c | 2 +- tests/testtreednd.c | 2 +- tests/testtreeedit.c | 2 +- tests/testtreeflow.c | 2 +- tests/testtreefocus.c | 2 +- tests/testtreemenu.c | 2 +- tests/testtreemodel.c | 8 ++++++-- tests/testtreepos.c | 2 +- tests/testtreesort.c | 2 +- tests/testtreeview.c | 2 +- tests/testverticalcells.c | 2 +- tests/testvolumebutton.c | 2 +- tests/testwindowsize.c | 2 +- tests/testxinerama.c | 2 +- tests/treestoretest.c | 2 +- tests/video-timer.c | 11 +++++++++-- tests/visuals/visuals.c | 2 +- testsuite/a11y/derive.c | 2 +- testsuite/gdk/Makefile.am | 4 ++-- testsuite/gdk/cairo.c | 4 ++-- testsuite/gdk/cursor.c | 4 ++-- testsuite/gdk/display.c | 10 +++++----- testsuite/gdk/encoding.c | 4 ++-- testsuite/gdk/keysyms.c | 4 ++-- testsuite/gdk/rectangle.c | 4 ++-- testsuite/gdk/seat.c | 4 ++-- testsuite/gtk/accessible.c | 2 +- testsuite/gtk/cssprovider.c | 2 +- testsuite/gtk/displayclose.c | 11 +++++++---- testsuite/gtk/firefox-stylecontext.c | 6 +----- testsuite/gtk/gtkmenu.c | 2 +- testsuite/gtk/revealer-size.c | 2 +- testsuite/gtk/scrolledwindow.c | 2 +- testsuite/gtk/stylecontext.c | 2 +- 152 files changed, 210 insertions(+), 177 deletions(-) commit 4d7fa52fe9e41f7d3f1b54b6f82bd28f99b7ec92 Author: Matthias Clasen Date: Wed Dec 28 16:39:22 2016 -0500 Drop gdk init api Supporting separately initialized gdk is just not worth it. gdk/gdk.c | 187 ---------------------------------------------------------- gdk/gdkmain.h | 10 ---- 2 files changed, 197 deletions(-) commit 7a13715736d87fd28483640613f2700105594e52 Author: Matthias Clasen Date: Wed Dec 28 08:49:37 2016 -0500 Drop arguments from gtk_init This is our ultimate goal: no more commandline argument handling. Lots of callers will have to be updated. gtk/gtkmain.c | 54 +++++++++++++----------------------------------------- gtk/gtkmain.h | 6 ++---- 2 files changed, 15 insertions(+), 45 deletions(-) commit f2ee897009afe5e54e1c6249d37ce3e740eee564 Author: Matthias Clasen Date: Wed Dec 28 07:46:56 2016 -0500 Simplify initialization code Now that gtk_get_option_group and gtk_parse_args are no longer public, we can get rid of them. gtk/gtkmain.c | 118 +++++----------------------------------------------------- 1 file changed, 10 insertions(+), 108 deletions(-) commit 64b40c65ae8de5c9d019604e4a4a4d3a7f21182a Author: Matthias Clasen Date: Tue Dec 27 18:49:30 2016 -0500 Drop the --gtk-debug and --gtk-no-debug options We have environment variables that cover this. gtk/gtkmain.c | 30 ------------------------------ 1 file changed, 30 deletions(-) commit 4cfcca7997c3f91a5a020882d0ad2ba69b3259bd Author: Matthias Clasen Date: Tue Dec 27 18:48:02 2016 -0500 Drop the --g-fatal-warnings argument We don't need it, GLib has an environment variable for this. gtk/gtkmain.c | 12 ------------ 1 file changed, 12 deletions(-) commit 9c52f6b3cad4b9e8c7e699bcb5a3f7895f4d2365 Author: Matthias Clasen Date: Tue Dec 27 18:46:45 2016 -0500 Drop the --gtk-modules argument We don't need it; the environment variable is enough. gtk/gtkmain.c | 19 ------------------- 1 file changed, 19 deletions(-) commit 63d6e2d8e2319de68edf91560c4b375f87544fe7 Author: Matthias Clasen Date: Tue Dec 27 18:45:53 2016 -0500 Don't export gtk_get_option_group We want to get rid of commandline option handling in GTK+. This is a step in that direction. gtk/gtk-launch.c | 2 -- gtk/gtkapplication.c | 2 -- gtk/gtkmain.c | 19 +------------------ gtk/gtkmain.h | 3 --- 4 files changed, 1 insertion(+), 25 deletions(-) commit 42fd5a0b8b98cc76fe5c378abc95eb2eb8661f56 Author: Matthias Clasen Date: Tue Dec 27 18:36:19 2016 -0500 Stop exporting gtk_parse_args We want to stop handling commandline arguments, and that is the sole purpose of this function. So it has to go gtk/gtkmain.c | 24 +----------------------- gtk/gtkmain.h | 4 ---- 2 files changed, 1 insertion(+), 27 deletions(-) commit 7e8eb3ddcd29ce9eecb14a56dbfeb0caf64dc772 Author: Matthias Clasen Date: Tue Dec 27 18:31:03 2016 -0500 Drop gtk_init_with_args We want to simplify our initialization code and remove all commandline argument handling from it. The first stop for this is to reduce the number of gtk_init variants we have. gtk/gtkmain.c | 77 ----------------------------------------------------------- gtk/gtkmain.h | 8 ------- 2 files changed, 85 deletions(-) commit b39e537e1cf4ae8c2e488dd80e38d26da7c43b37 Author: Emmanuele Bassi Date: Thu Jan 19 18:18:07 2017 +0000 gdk: Skip GdkVulkanContext methods when building introspection data We cannot use Vulkan types through introspection anyway. gdk/gdkvulkancontext.h | 2 ++ 1 file changed, 2 insertions(+) commit 6beb0b91c91dd4a018b0fe2c39f5687a00938821 Author: Carlos Garnacho Date: Thu Jan 19 16:07:13 2017 +0100 wayland: Push NULL buffer when hiding a GdkWindow This is how windows are meant to be hidden as per the wayland protocol, there's no need to destroy the xdg_surface and other interfaces. Also, rename gdk_wayland_window_hide_surface() to clear_surface(), as that's what it does. https://bugzilla.gnome.org/show_bug.cgi?id=773686 gdk/wayland/gdkwindow-wayland.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) commit 94ae322f65dc01ac545652baf2bdef93345af7b2 Author: Daniel Boles Date: Thu Jan 19 03:26:09 2017 +0000 combobox: Avoid a pointless assignment Don’t get the active item pointer before the grid/non-grid conditional, because if we’re in grid mode, we re-get it before selecting it anyway. gtk/gtkcombobox.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit c83ead5eeadf5ad1b6765049f65e815da48b37eb Author: Daniel Boles Date: Thu Jan 19 03:12:32 2017 +0000 combobox: Also preselect active item in grid popup i.e. when wrap-width > 0. This was only being done for non-grid cases. So, ComboBoxes in grid mode did not indicate their selection when popped up and required users to keynav from ‘nothing’ (at the top-left) to the item they wanted to select. By selecting the active item in advance, now it’s highlighted & acts as the starting point for keynav around the grid gtk/gtkcombobox.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) commit 494a38504b2af09f8df83844f592dd8d97eee223 Author: Daniel Boles Date: Thu Jan 19 00:44:35 2017 +0000 scale: Really fix documentation of set_digits() This previously only mentioned its effect on the displayed value, and even after the previous commit, its rounding of the actual value upon change still reads like too much of an afterthought. Worse, it wasn’t mentioned at all in the doc for the @digits parameter. Change this to emphasise rounding always occurs and the displayed value is secondary. gtk/gtkscale.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) commit 0776bd438bc9badf94116e3f296ddb176d899b1d Author: Daniel Boles Date: Wed Jan 18 23:42:55 2017 +0000 scale: doc: set_digits doesn’t round retroactively Whether it should is an open question, but for now, the documentation should clearly indicate that currently rounding is only applied upon changes to the value, not to the existing value when ::digits changes. This is already clear in the doc for the underlying Range::round-digits. https://bugzilla.gnome.org/show_bug.cgi?id=358970 gtk/gtkscale.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit d9dd312752f69acdfcba05afaffb83316589d17c Author: Daniel Boles Date: Wed Jan 18 22:54:42 2017 +0000 Scale: Always sync ::digits to Range::round-digits The documents state that gtk_scale_set_digits() “causes the value of the adjustment to be rounded off to this number of digits, so the retrieved value matches the value the user saw.” Note the lack of any condition. But in fact, if draw-value was false, rounding was disabled on the base Range, so values that weren’t displayed weren’t rounded. This made the docs wrong and made an apparently cosmetic detail alter functionality. Fix by ensuring the number of digits set on Scale is always propagated along to gtk_range_set_round_digits(), thus rounding to it in all cases when the value changes, regardless of whether the value is displayed. This doesn’t address the other idea from Bugzilla: that changing the number of digits should clamp the _existing_ value if it’s more precise. This contradicts digits docs in the base Range, but the above from Scale can be read as implying it’ll happen. For now, that’s an open question. https://bugzilla.gnome.org/show_bug.cgi?id=358970 gtk/gtkscale.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) commit e4ede33a650d91804327f052c76322ff06d26a95 Author: Daniel Boles Date: Wed Jan 18 22:22:52 2017 +0000 combobox: Work around popup handler altering model GtkFileChooserButton installs a handler for the popped-up signal, which refilters the menu, in order to hide the “(None)” item from the popup if it was previously selected in the ComboBox. This oddity means that: • Until recently, this item would be selected in the menu shell, which would then be popped up and change the selection away from that item. This was therefore redundant (more on which below!) but benign. • After the patch for https://bugzilla.gnome.org/show_bug.cgi?id=771242 however, this causes a critical assertion fail, as now we stash the originally selected item in a pointer so that it can be selected only after realisation/popup – but by that stage, the model has just been refiltered and the previous pointer no longer refers to a valid item. This commit works around this problem by, after popping up the menu, getting the active item again, in case a popped-up handler has gone and invalidated the pointer to the active item that we saved before popup. If a handler does this, everything done to find/use the original item is pointless. But this avoids the ugly critical in FileChooserButton, while not harming every other ComboBox that doesn’t mess with its model while popping up (hopefully the vast majority), and it’s very difficult to imagine a way to check if the active item is /going to/ be hidden later) gtk/gtkcombobox.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) commit 7a5c995fd4a5da18fafbdecee7cd151766e8b00b Author: Daniel Boles Date: Wed Jan 18 22:17:37 2017 +0000 combobox: Don’t select active item if it’s hidden I hope no one ever actually brings such a silly item into this world, but this achieves symmetry with the similar checks immediately after. gtk/gtkcombobox.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2e973cedc9793b15c18e142c7564510c27790cb2 Author: Daniel Boles Date: Wed Jan 18 21:20:10 2017 +0000 combobox: Move variables into narrowest scopes gtk/gtkcombobox.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) commit 0a0401cce34b6460de0759ef18c8b85cc6144edf Author: Dušan Kazik Date: Wed Jan 18 20:50:55 2017 +0000 Update Slovak translation po/sk.po | 2207 ++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 1066 insertions(+), 1141 deletions(-) commit ee9828d49c7d6540361486c1edd16ac8916521bb Author: Benjamin Otte Date: Wed Jan 18 16:46:04 2017 +0100 vulkan: Fix copy/paste error .../vulkan/outset-shadow-clip-rounded.frag.spv | Bin 20680 -> 10672 bytes gsk/resources/vulkan/outset-shadow-clip.frag.spv | Bin 20028 -> 10020 bytes gsk/resources/vulkan/outset-shadow.frag | 2 +- gsk/resources/vulkan/outset-shadow.frag.spv | Bin 20028 -> 10020 bytes 4 files changed, 1 insertion(+), 1 deletion(-) commit 12637195de63b3bc16613aa06adc00cda9ef6837 Author: Benjamin Otte Date: Wed Jan 18 16:42:01 2017 +0100 vulkan: Add compiled shaders I forgot to include them when adding the shaders. gsk/resources/vulkan/inset-shadow-clip-rounded.frag.spv | Bin 0 -> 10656 bytes gsk/resources/vulkan/inset-shadow-clip-rounded.vert.spv | Bin 0 -> 4744 bytes gsk/resources/vulkan/inset-shadow-clip.frag.spv | Bin 0 -> 10004 bytes gsk/resources/vulkan/inset-shadow-clip.vert.spv | Bin 0 -> 4744 bytes gsk/resources/vulkan/inset-shadow.frag.spv | Bin 0 -> 10004 bytes gsk/resources/vulkan/inset-shadow.vert.spv | Bin 0 -> 3012 bytes .../vulkan/outset-shadow-clip-rounded.frag.spv | Bin 0 -> 20680 bytes .../vulkan/outset-shadow-clip-rounded.vert.spv | Bin 0 -> 5536 bytes gsk/resources/vulkan/outset-shadow-clip.frag.spv | Bin 0 -> 20028 bytes gsk/resources/vulkan/outset-shadow-clip.vert.spv | Bin 0 -> 5536 bytes gsk/resources/vulkan/outset-shadow.frag.spv | Bin 0 -> 20028 bytes gsk/resources/vulkan/outset-shadow.vert.spv | Bin 0 -> 3804 bytes 12 files changed, 0 insertions(+), 0 deletions(-) commit cde933ebd971c4d398ac118f62bd76ee243d08eb Author: Benjamin Otte Date: Wed Jan 18 16:39:27 2017 +0100 vulkan: Compute right size for outset shadow We were emitting the box and not the shadow box as the rectangle. So we didn't draw any shadows. Oops. gsk/resources/vulkan/outset-shadow.vert | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) commit fb47a8d714f075130c944cc5a3d38a4757c902dd Author: Benjamin Otte Date: Wed Jan 18 04:12:15 2017 +0100 css: Remove deprecated number-as-pixels compatibility Previously, for compatibility with GTK 3.0, we allowed specifying numbers without units and interpreted them as pixels, even when the CSS specification didn't. Remove that now that we can break API. gtk/gtkcsscalcvalue.c | 2 -- gtk/gtkcsscornervalue.c | 2 -- gtk/gtkcssnumbervalueprivate.h | 7 +++---- gtk/gtkcssparser.c | 7 ------- gtk/gtkcssshadowvalue.c | 12 ++++-------- gtk/gtkcssshorthandpropertyimpl.c | 9 +-------- gtk/gtkcssstylefuncs.c | 4 ++-- gtk/gtkcssstylepropertyimpl.c | 11 +++-------- 8 files changed, 13 insertions(+), 41 deletions(-) commit bd24ca5b18917f86c9cc3559ab4d0cac5bb5561a Author: Benjamin Otte Date: Wed Jan 18 04:07:09 2017 +0100 vulkan: Add support for unblurred box-shadow gsk/Makefile.am | 10 +- gsk/gskvulkanboxshadowpipeline.c | 161 ++++++++++++++++++++++++++++++++ gsk/gskvulkanboxshadowpipelineprivate.h | 38 ++++++++ gsk/gskvulkanrender.c | 9 +- gsk/gskvulkanrenderpass.c | 99 +++++++++++++++++++- gsk/gskvulkanrenderprivate.h | 6 ++ gsk/resources/vulkan/inset-shadow.frag | 26 ++++++ gsk/resources/vulkan/inset-shadow.vert | 45 +++++++++ gsk/resources/vulkan/outset-shadow.frag | 26 ++++++ gsk/resources/vulkan/outset-shadow.vert | 45 +++++++++ 10 files changed, 460 insertions(+), 5 deletions(-) commit 84c1204853b532494c4568d81d10b45142472565 Author: Benjamin Otte Date: Wed Jan 18 00:05:25 2017 +0100 rendernode: Add getters for box-shadow nodes gsk/gskrendernodeimpl.c | 120 +++++++++++++++++++++++++++++++++++++++++++++ gsk/gskrendernodeprivate.h | 14 ++++++ 2 files changed, 134 insertions(+) commit 2ae6f59e7a0fb3b4af79f39d8d29e49e009133c2 Author: Benjamin Otte Date: Tue Jan 17 20:59:19 2017 +0100 docs: Remove mention of GdkColor gdk/gdkcairo.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) commit 95834ad1e18142a19dd35e509f7785f82d21966a Author: Matthias Clasen Date: Tue Jan 17 14:14:34 2017 -0500 Revert "filechooser portal: Make sure we can save" This reverts commit 4875c689a0e826604953965ffdb71d8b82cae364. This was a thinko. Writable is not actually settable from the application side, but only for the user, from the backend side. gtk/gtkfilechoosernativeportal.c | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) commit 4875c689a0e826604953965ffdb71d8b82cae364 Author: Matthias Clasen Date: Tue Jan 17 14:08:38 2017 -0500 filechooser portal: Make sure we can save Explicitly request files for saving to be writable, otherwise we are at the mercy of the portal, which currently gets it wrong. gtk/gtkfilechoosernativeportal.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) commit 7a1b30f16e0fd94697c505e620a741c22600d8f7 Author: Rui Matos Date: Wed Jan 11 19:12:12 2017 +0100 gdk/wayland: Always get the seat's key modifiers from the GdkKeymap Elsewhere we already go through the keymap to get modifiers so we should do the same here. In fact, this was relying on xkb modifier mask values being bitwise compatible with GdkModifierType which isn't necessarily true. https://bugzilla.gnome.org/show_bug.cgi?id=770112 gdk/wayland/gdkdevice-wayland.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 515b71f14c69b916789e418e75beb5936ce057e5 Author: Rui Matos Date: Wed Jan 11 18:33:11 2017 +0100 gdk/wayland: Don't add GDK_META_MASK to gdk mod masks if MOD1 is set Gtk+ treats MOD1 as a synonym for Alt, and does not expect it to be mapped around, so we should avoid adding GDK_META_MASK if MOD1 is already included to avoid confusing gtk+ and applications that rely on that behavior. https://bugzilla.gnome.org/show_bug.cgi?id=770112 gdk/wayland/gdkkeys-wayland.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) commit 7ca6d7585fb7ebd5d3d7bb31bcde92e36f75d419 Author: Jonas Ådahl Date: Thu Jan 5 16:01:49 2017 +0800 wayland: Handle subsurface as popup parent When a subsurface is used as a parent of a popup, GDK needs to traverse up to the transient-for as the next parent, to properly find the parent used by the popup positioner. This is because the parent of a popup must always either be an xdg_popup or an xdg_surface, but traversing the "parent" (in GDK terms) upwards from a subsurface will end up on the fake root window before we hit the actual parent (in Wayland terms). https://bugzilla.gnome.org/show_bug.cgi?id=776225 gdk/wayland/gdkwindow-wayland.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) commit 01d16524da15cf430844d5a6dd7241304e9142f1 Author: Benjamin Otte Date: Tue Jan 17 06:38:36 2017 +0100 vulkan: Add fallback message for node-as-texture This is mainly to motivate me to implement it. gsk/gskvulkanrenderpass.c | 4 ++++ 1 file changed, 4 insertions(+) commit 6bec7aae89fecb97c42d83ecee70b6888f699d4b Author: Benjamin Otte Date: Tue Jan 17 06:15:03 2017 +0100 vulkan: Generate clip shaders from same source Instead of having 3 different shaders for the different clipping versions, just have one shader and use a preprocessor define to use different clip functions. That preprocessor define is set in the Makefile. Also use foo.frag and foo.vert as the file extensions instead of using foo.frag.glsl and foo.vert.glsl, as that's what glslc suggests as extension. gsk/Makefile.am | 75 ++++++++------- gsk/resources/vulkan/blend-clip.frag.glsl | 12 --- gsk/resources/vulkan/blend-clip.frag.spv | Bin 632 -> 1328 bytes gsk/resources/vulkan/blend-clip.vert.glsl | 32 ------- gsk/resources/vulkan/blend-clip.vert.spv | Bin 4788 -> 4868 bytes .../{blend-clip-rounded.frag.glsl => blend.frag} | 1 - gsk/resources/vulkan/blend.frag.spv | Bin 632 -> 1328 bytes .../{blend-clip-rounded.vert.glsl => blend.vert} | 1 - gsk/resources/vulkan/blend.vert.spv | Bin 1964 -> 3136 bytes gsk/resources/vulkan/border-clip-rounded.frag.spv | Bin 10080 -> 10212 bytes gsk/resources/vulkan/border-clip-rounded.vert.glsl | 103 --------------------- gsk/resources/vulkan/border-clip.frag.glsl | 23 ----- gsk/resources/vulkan/border-clip.frag.spv | Bin 9008 -> 9560 bytes .../{border-clip-rounded.frag.glsl => border.frag} | 12 +-- gsk/resources/vulkan/border.frag.spv | Bin 9008 -> 9560 bytes .../vulkan/{border-clip.vert.glsl => border.vert} | 1 - gsk/resources/vulkan/border.vert.spv | Bin 7216 -> 7428 bytes gsk/resources/vulkan/color-clip.frag.glsl | 10 -- gsk/resources/vulkan/color-clip.frag.spv | Bin 720 -> 1448 bytes gsk/resources/vulkan/color-clip.vert.glsl | 28 ------ gsk/resources/vulkan/color-clip.vert.spv | Bin 3772 -> 3880 bytes gsk/resources/vulkan/color-matrix-clip.frag.glsl | 31 ------- gsk/resources/vulkan/color-matrix-clip.frag.spv | Bin 2160 -> 2824 bytes gsk/resources/vulkan/color-matrix-clip.vert.glsl | 38 -------- gsk/resources/vulkan/color-matrix-clip.vert.spv | Bin 5140 -> 5220 bytes ...ix-clip-rounded.frag.glsl => color-matrix.frag} | 1 - gsk/resources/vulkan/color-matrix.frag.spv | Bin 2160 -> 2824 bytes ...ix-clip-rounded.vert.glsl => color-matrix.vert} | 1 - gsk/resources/vulkan/color-matrix.vert.spv | Bin 2316 -> 3488 bytes .../{color-clip-rounded.frag.glsl => color.frag} | 1 - gsk/resources/vulkan/color.frag.spv | Bin 720 -> 1448 bytes .../{color-clip-rounded.vert.glsl => color.vert} | 1 - gsk/resources/vulkan/color.vert.spv | Bin 1780 -> 2148 bytes gsk/resources/vulkan/linear-clip.frag.glsl | 33 ------- gsk/resources/vulkan/linear-clip.frag.spv | Bin 2320 -> 3032 bytes gsk/resources/vulkan/linear-clip.vert.glsl | 75 --------------- gsk/resources/vulkan/linear-clip.vert.spv | Bin 7832 -> 7928 bytes .../{linear-clip-rounded.frag.glsl => linear.frag} | 1 - gsk/resources/vulkan/linear.frag.spv | Bin 2320 -> 3032 bytes .../{linear-clip-rounded.vert.glsl => linear.vert} | 1 - gsk/resources/vulkan/linear.vert.spv | Bin 6116 -> 6212 bytes 41 files changed, 42 insertions(+), 439 deletions(-) commit 3768c676c6e90daebaf208a0fdbffa78d210fc56 Author: Benjamin Otte Date: Tue Jan 17 05:50:52 2017 +0100 vulkan: Add clip.vert.glsl Implement clipping the same way as in the last commit for the fragment shaders. gsk/Makefile.am | 1 + gsk/resources/vulkan/blend-clip-rounded.vert.glsl | 15 ++------- gsk/resources/vulkan/blend-clip-rounded.vert.spv | Bin 4684 -> 4868 bytes gsk/resources/vulkan/blend-clip.vert.glsl | 15 ++------- gsk/resources/vulkan/blend-clip.vert.spv | Bin 4604 -> 4788 bytes gsk/resources/vulkan/border-clip-rounded.vert.glsl | 15 ++------- gsk/resources/vulkan/border-clip-rounded.vert.spv | Bin 8952 -> 9136 bytes gsk/resources/vulkan/border-clip.vert.glsl | 15 ++------- gsk/resources/vulkan/border-clip.vert.spv | Bin 8952 -> 9136 bytes gsk/resources/vulkan/clip.vert.glsl | 36 +++++++++++++++++++++ gsk/resources/vulkan/color-clip-rounded.vert.glsl | 7 ++-- gsk/resources/vulkan/color-clip-rounded.vert.spv | Bin 1888 -> 3880 bytes gsk/resources/vulkan/color-clip.vert.glsl | 15 ++------- gsk/resources/vulkan/color-clip.vert.spv | Bin 3588 -> 3772 bytes .../vulkan/color-matrix-clip-rounded.vert.glsl | 15 ++------- .../vulkan/color-matrix-clip-rounded.vert.spv | Bin 5036 -> 5220 bytes gsk/resources/vulkan/color-matrix-clip.vert.glsl | 15 ++------- gsk/resources/vulkan/color-matrix-clip.vert.spv | Bin 4956 -> 5140 bytes gsk/resources/vulkan/linear-clip-rounded.vert.glsl | 6 ++-- gsk/resources/vulkan/linear-clip-rounded.vert.spv | Bin 5952 -> 7928 bytes gsk/resources/vulkan/linear-clip.vert.glsl | 6 ++-- gsk/resources/vulkan/linear-clip.vert.spv | Bin 5856 -> 7832 bytes gsk/resources/vulkan/linear.vert.glsl | 15 ++------- gsk/resources/vulkan/linear.vert.spv | Bin 7648 -> 6116 bytes 24 files changed, 74 insertions(+), 102 deletions(-) commit cf65443fb3102e7d128fbb22ce3187feb52b9b2c Author: Benjamin Otte Date: Tue Jan 17 05:36:03 2017 +0100 vulkan: Add a clip.frag.glsl include This include is supposed to handle clipping for the different clipping methods. So far, we only use it in the rounded rect cases. gsk/Makefile.am | 1 + gsk/resources/vulkan/blend-clip-rounded.frag.glsl | 47 ++------------------ gsk/resources/vulkan/blend-clip-rounded.frag.spv | Bin 5464 -> 8268 bytes gsk/resources/vulkan/blend-clip.frag.spv | Bin 632 -> 632 bytes gsk/resources/vulkan/clip.frag.glsl | 29 +++++++++++++ gsk/resources/vulkan/color-clip-rounded.frag.glsl | 48 ++------------------- gsk/resources/vulkan/color-clip-rounded.frag.spv | Bin 5552 -> 8356 bytes .../vulkan/color-matrix-clip-rounded.frag.glsl | 47 ++------------------ .../vulkan/color-matrix-clip-rounded.frag.spv | Bin 6872 -> 9676 bytes gsk/resources/vulkan/linear-clip-rounded.frag.glsl | 47 ++------------------ gsk/resources/vulkan/linear-clip-rounded.frag.spv | Bin 7032 -> 9836 bytes 11 files changed, 42 insertions(+), 177 deletions(-) commit 6a60e335cd4e313b025d6294869e1c950700521b Author: Benjamin Otte Date: Tue Jan 17 05:20:07 2017 +0100 vulkan: Add push constants to fragment shader That way we don't need to move the clip rounded rect manually through the vertex shader into the fragment shader but can just look at the push constants. Simplifies shaders a lot. gsk/gskvulkanpushconstants.c | 56 ++++++++------------- gsk/gskvulkanpushconstantsprivate.h | 15 +----- gsk/gskvulkanrenderpass.c | 6 +-- gsk/resources/vulkan/blend-clip-rounded.frag.glsl | 6 +-- gsk/resources/vulkan/blend-clip-rounded.frag.spv | Bin 5180 -> 5464 bytes gsk/resources/vulkan/blend-clip-rounded.vert.glsl | 4 -- gsk/resources/vulkan/blend-clip-rounded.vert.spv | Bin 4940 -> 4684 bytes gsk/resources/vulkan/border-clip-rounded.frag.glsl | 6 +-- gsk/resources/vulkan/border-clip-rounded.frag.spv | Bin 9832 -> 10080 bytes gsk/resources/vulkan/border-clip-rounded.vert.glsl | 6 --- gsk/resources/vulkan/border-clip-rounded.vert.spv | Bin 9312 -> 8952 bytes gsk/resources/vulkan/color-clip-rounded.frag.glsl | 8 +-- gsk/resources/vulkan/color-clip-rounded.frag.spv | Bin 5228 -> 5552 bytes gsk/resources/vulkan/color-clip-rounded.vert.glsl | 4 -- gsk/resources/vulkan/color-clip-rounded.vert.spv | Bin 2176 -> 1888 bytes .../vulkan/color-matrix-clip-rounded.frag.glsl | 10 ++-- .../vulkan/color-matrix-clip-rounded.frag.spv | Bin 6588 -> 6872 bytes .../vulkan/color-matrix-clip-rounded.vert.glsl | 8 +-- .../vulkan/color-matrix-clip-rounded.vert.spv | Bin 5292 -> 5036 bytes gsk/resources/vulkan/linear-clip-rounded.frag.glsl | 8 +-- gsk/resources/vulkan/linear-clip-rounded.frag.spv | Bin 6748 -> 7032 bytes gsk/resources/vulkan/linear-clip-rounded.vert.glsl | 6 +-- gsk/resources/vulkan/linear-clip-rounded.vert.spv | Bin 6208 -> 5952 bytes 23 files changed, 47 insertions(+), 96 deletions(-) commit c7d899c535afce21e0d2ffea94520a2625e4da80 Author: Benjamin Otte Date: Tue Jan 17 02:20:08 2017 +0100 vulkan: Move push constants into their own header This is the first step towards easing maintenance of the Vulkan shaders by moving common code into headers. gsk/Makefile.am | 1 + gsk/resources/vulkan/blend-clip-rounded.vert.glsl | 9 ++------- gsk/resources/vulkan/blend-clip-rounded.vert.spv | Bin 4940 -> 4940 bytes gsk/resources/vulkan/blend-clip.vert.glsl | 9 ++------- gsk/resources/vulkan/blend-clip.vert.spv | Bin 4604 -> 4604 bytes gsk/resources/vulkan/blend.vert.glsl | 9 ++------- gsk/resources/vulkan/blend.vert.spv | Bin 1964 -> 1964 bytes gsk/resources/vulkan/border-clip-rounded.vert.glsl | 9 ++------- gsk/resources/vulkan/border-clip-rounded.vert.spv | Bin 9312 -> 9312 bytes gsk/resources/vulkan/border-clip.vert.glsl | 9 ++------- gsk/resources/vulkan/border-clip.vert.spv | Bin 8952 -> 8952 bytes gsk/resources/vulkan/border.vert.glsl | 9 ++------- gsk/resources/vulkan/border.vert.spv | Bin 7216 -> 7216 bytes gsk/resources/vulkan/color-clip-rounded.vert.glsl | 9 ++------- gsk/resources/vulkan/color-clip-rounded.vert.spv | Bin 2176 -> 2176 bytes gsk/resources/vulkan/color-clip.vert.glsl | 9 ++------- gsk/resources/vulkan/color-clip.vert.spv | Bin 3588 -> 3588 bytes .../vulkan/color-matrix-clip-rounded.vert.glsl | 9 ++------- .../vulkan/color-matrix-clip-rounded.vert.spv | Bin 5292 -> 5292 bytes gsk/resources/vulkan/color-matrix-clip.vert.glsl | 9 ++------- gsk/resources/vulkan/color-matrix-clip.vert.spv | Bin 4956 -> 4956 bytes gsk/resources/vulkan/color-matrix.vert.glsl | 9 ++------- gsk/resources/vulkan/color-matrix.vert.spv | Bin 2316 -> 2316 bytes gsk/resources/vulkan/color.vert.glsl | 9 ++------- gsk/resources/vulkan/color.vert.spv | Bin 1780 -> 1780 bytes gsk/resources/vulkan/constants.glsl | 11 +++++++++++ gsk/resources/vulkan/linear-clip-rounded.vert.glsl | 9 ++------- gsk/resources/vulkan/linear-clip-rounded.vert.spv | Bin 6208 -> 6208 bytes gsk/resources/vulkan/linear-clip.vert.glsl | 9 ++------- gsk/resources/vulkan/linear-clip.vert.spv | Bin 5856 -> 5856 bytes gsk/resources/vulkan/linear.vert.glsl | 9 ++------- gsk/resources/vulkan/linear.vert.spv | Bin 7648 -> 7648 bytes 32 files changed, 42 insertions(+), 105 deletions(-) commit 8ffecabd9382381769758add0ddc15ca090cc310 Author: Mohammed Sadiq Date: Tue Jan 17 08:06:46 2017 +0530 wayland: avoid an unnecessary g_list_length call https://bugzilla.gnome.org/show_bug.cgi?id=777363 gdk/wayland/gdkdisplay-wayland.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f21827eb2233673d76d08d01cf12614a7c85aafa Author: Matthias Clasen Date: Mon Jan 16 15:44:52 2017 -0500 3.89.3 NEWS | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ configure.ac | 2 +- 2 files changed, 65 insertions(+), 1 deletion(-) commit cfb599bf671bd438f25211d1d300c6554ea71153 Author: Matthias Clasen Date: Mon Jan 16 17:49:35 2017 -0500 We no longer have gdktestutils Update the docs build to reflect that. docs/reference/gdk/gdk-docs.sgml | 1 - 1 file changed, 1 deletion(-) commit a514faa074f6d6d7afb65710c488f8c707212781 Author: Daniel Mustieles Date: Mon Jan 16 21:33:24 2017 +0100 Updated Spanish translation po-properties/es.po | 907 ++++++++++++++++++++++++---------------------------- 1 file changed, 426 insertions(+), 481 deletions(-) commit ff4c05532b418f08e8ddc2eca68151e67be25731 Author: Daniel Mustieles Date: Mon Jan 16 21:33:13 2017 +0100 Updated Spanish translation po/es.po | 355 +++++++++++++++++++++++++++------------------------------------ 1 file changed, 151 insertions(+), 204 deletions(-) commit 239f14cc96a7bf43b7e60e2b83cba437261a7fbc Author: Timm Bäder Date: Mon Jan 16 21:01:59 2017 +0100 switch: Fix build Partial revert of 2b6b5c1c8fecdd66172516812ed3f1825619dafc, which removed a little too much. gtk/gtkswitch.c | 2 ++ 1 file changed, 2 insertions(+) commit 2b6b5c1c8fecdd66172516812ed3f1825619dafc Author: Timm Bäder Date: Mon Jan 16 18:15:22 2017 +0100 switch: Remove some unused code gtk/gtkswitch.c | 5 ----- 1 file changed, 5 deletions(-) commit ca889b6e2119282c82dfe17f9b2e8d47bbbf6bae Author: Timm Bäder Date: Fri Jan 13 21:17:08 2017 +0100 gtkentryprivate: Remove unused prototype gtk/gtkentryprivate.h | 2 -- 1 file changed, 2 deletions(-) commit 28a3dd539df928e616033f5d1253f1ef2dd9498f Author: Timm Bäder Date: Fri Jan 13 21:09:14 2017 +0100 scalebutton: Use GtkButon:icon-name in the ui file gtk/ui/gtkscalebutton.ui | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) commit 3cfcbe2ccfee857d28a5ec02ecc5ef98686ff58b Author: Timm Bäder Date: Fri Jan 13 15:24:44 2017 +0100 spinbutton: Restore gtk3 focus behavior Focus the spinbutton on button press, never focus the buttons. gtk/gtkspinbutton.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 132f2721ce49c2d5b8af3842655773b9c5c70039 Author: Timm Bäder Date: Fri Jan 13 21:08:59 2017 +0100 inspector: Use GtkButton:icon-name in ui files gtk/inspector/css-editor.ui | 22 ++-------------------- gtk/inspector/object-tree.ui | 22 ++-------------------- 2 files changed, 4 insertions(+), 40 deletions(-) commit f4afa000a14d7b53a8efdc0782c37576cbf6c3b0 Author: Timm Bäder Date: Fri Jan 13 21:13:07 2017 +0100 entry: Remove unused struct member gtk/gtkentry.c | 1 - 1 file changed, 1 deletion(-) commit 32783a8187dd570deae378e7c3256d8957a43bc0 Author: Timm Bäder Date: Sat Jan 14 08:20:43 2017 +0100 gtk4-section: Add GtkInfoBar:revealed setter+getter docs/reference/gtk/gtk4-sections.txt | 2 ++ 1 file changed, 2 insertions(+) commit 4259aba8839ab8f3688284a25265868a3d8f3352 Author: Olivier Fourdan Date: Thu Jan 12 18:08:32 2017 +0100 wayland: avoid 0 width/height anchor rectangle Passing a rectangle with zero width or height to xdg_shell-v6 set_anchor_rect() will cause a protocol error and terminate the client, as with gedit when pressing the Win key. Reason for this is because the rectangle used to set the anchor comes from gtk_text_layout_get_iter_location() which uses the pango layout width/height, which can be empty if there is not character at the given location. Make sure we don't use 0 as width or height as an anchor rectangle to avoid the protocol error, and compensate the logical position of the given rectangle if the size is changed, so that the actual position remains as expected by the client. https://bugzilla.gnome.org/show_bug.cgi?id=777176 gdk/wayland/gdkwindow-wayland.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) commit f2ee8f43420075b722f68009236cfa946aa3973b Author: Chun-wei Fan Date: Mon Jan 16 13:47:21 2017 +0800 Visual Studio builds: Update gsk project Another Vulkan renderer source was added, so include them in the builds. win32/vs12/gsk-4.vcxproj.filtersin | 1 + win32/vs12/gsk-4.vcxprojin | 4 ++++ 2 files changed, 5 insertions(+) commit 5e816f72837bf3787d8e1d38b1f4ffc46c4259ad Author: Daniel Boles Date: Sun Jan 15 20:37:49 2017 +0000 grid: Fix plural error in docs' @Short_description gtk/gtkgrid.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit b373512523a20d175ed4ae786a6a97740a01dacf Author: Jordi Mas Date: Sun Jan 15 20:18:08 2017 +0100 Update Catalan translation po-properties/ca.po | 156 +++++++++++++++++++++++++++------------------------- 1 file changed, 82 insertions(+), 74 deletions(-) commit 87497ca2e1abd2ce52b4dfe6b8aa12f17feeaf10 Author: Benjamin Otte Date: Fri Jan 13 14:36:56 2017 +0100 snapshot: Rename gtk_snapshot_translate_2d() It's now called gtk_snapshot_offset(). docs/reference/gtk/gtk4-sections.txt | 3 ++- gtk/gtkbuiltinicon.c | 4 ++-- gtk/gtkcalendar.c | 28 ++++++++++++++-------------- gtk/gtkcellrendererpixbuf.c | 4 ++-- gtk/gtkcellrenderertoggle.c | 6 +++--- gtk/gtkcssgadget.c | 8 ++++---- gtk/gtkiconhelper.c | 12 ++++++------ gtk/gtkiconview.c | 6 +++--- gtk/gtkimage.c | 4 ++-- gtk/gtkpaned.c | 4 ++-- gtk/gtkrenderbackground.c | 14 +++++++------- gtk/gtksnapshot.c | 30 +++++++++++++++--------------- gtk/gtksnapshot.h | 2 +- gtk/gtkstylecontext.c | 8 ++++---- gtk/gtktreeview.c | 16 ++++++++-------- gtk/gtkwidget.c | 8 ++++---- 16 files changed, 79 insertions(+), 78 deletions(-) commit fc94ee99e862ae1d68e8cd19894d29bb69a3b8d0 Author: Jordi Mas Date: Fri Jan 13 06:51:42 2017 +0100 Update Catalan translation po-properties/ca.po | 14220 ++++++++++++++++++++++++-------------------------- po/ca.po | 2201 ++++---- 2 files changed, 7933 insertions(+), 8488 deletions(-) commit 6055028c9653b01c8623763dac0a213396bc81eb Author: Benjamin Otte Date: Fri Jan 13 04:46:09 2017 +0100 snapshot: Rename append APIs Instead of having gtk_snapshot_append_foo_node(), just have gtk_snapshot_append_foo(). Nobody needs to know that this internally uses nodes. docs/reference/gtk/gtk4-sections.txt | 6 +-- docs/reference/gtk/migrating-3to4.xml | 2 +- gtk/gtkcalendar.c | 14 +++---- gtk/gtkcellrenderer.c | 14 +++---- gtk/gtkcellrendererspinner.c | 12 +++--- gtk/gtkcellrenderertext.c | 14 +++---- gtk/gtkcolorplane.c | 6 +-- gtk/gtkcolorscale.c | 6 +-- gtk/gtkcolorswatch.c | 22 +++++------ gtk/gtkcssimage.c | 6 +-- gtk/gtkcssimagebuiltin.c | 6 +-- gtk/gtkcssimagefallback.c | 2 +- gtk/gtkcssimageicontheme.c | 18 ++++----- gtk/gtkcssimagelinear.c | 8 ++-- gtk/gtkcssimagesurface.c | 12 +++--- gtk/gtkdebugupdates.c | 8 ++-- gtk/gtkdrawingarea.c | 12 +++--- gtk/gtkentry.c | 12 +++--- gtk/gtkflowbox.c | 6 +-- gtk/gtklabel.c | 12 +++--- gtk/gtkpopover.c | 6 +-- gtk/gtkrenderbackground.c | 16 ++++---- gtk/gtkrenderborder.c | 12 +++--- gtk/gtkrendericon.c | 4 +- gtk/gtkscale.c | 16 ++++---- gtk/gtksnapshot.c | 44 +++++++++++----------- gtk/gtksnapshot.h | 6 +-- gtk/gtkstylecontext.c | 6 +-- gtk/gtktreeview.c | 70 +++++++++++++++++------------------ gtk/gtkwidget.c | 12 +++--- gtk/inspector/cellrenderergraph.c | 12 +++--- gtk/inspector/rendernodeview.c | 6 +-- 32 files changed, 205 insertions(+), 203 deletions(-) commit e5e5beafa5b86eeb33e8384942e96e8fcf20c514 Author: Benjamin Otte Date: Fri Jan 13 01:43:07 2017 +0100 cssimage: Fallback images have no aspect ratio The aspect ratio for fallback image was incorrectly set to 1. Reftest is included. gtk/gtkcssimagefallback.c | 2 +- testsuite/reftests/Makefile.am | 3 +++ testsuite/reftests/css-image-color-aspect-ratio.css | 9 +++++++++ testsuite/reftests/css-image-color-aspect-ratio.ref.ui | 11 +++++++++++ testsuite/reftests/css-image-color-aspect-ratio.ui | 10 ++++++++++ 5 files changed, 34 insertions(+), 1 deletion(-) commit a06b1ea1baecf6f0211726e901af93995f01a923 Author: Benjamin Otte Date: Fri Jan 13 03:28:34 2017 +0100 cssimage: Scale images to contain, not cover Images with just an aspect ratio, but without a size, should be scaled to be fully visible in the given area. But we scaled them to completely cover the given area, which made them partially invisible. Reftest included. gtk/gtkcssimage.c | 8 ++++---- testsuite/reftests/Makefile.am | 3 +++ testsuite/reftests/css-image-aspect-ratio.css | 8 ++++++++ testsuite/reftests/css-image-aspect-ratio.ref.ui | 11 +++++++++++ testsuite/reftests/css-image-aspect-ratio.ui | 10 ++++++++++ 5 files changed, 36 insertions(+), 4 deletions(-) commit b58de2d16cbb1b4e8fbdb6aac9d73deb887650e9 Author: Benjamin Otte Date: Fri Jan 13 00:39:59 2017 +0100 snapshot: Redo pop() API gtk_snapshot_pop() => removed gtk_snapshot_pop_and_append() => gtk_snapshot_pop() So now there is no way to get a rendernode out of the snapshotting API until you gtk_snapshot_finish(). docs/reference/gtk/gtk4-sections.txt | 1 - gtk/gtkcellrenderer.c | 2 +- gtk/gtkcellrendererprogress.c | 6 ++-- gtk/gtkcellrenderertext.c | 2 +- gtk/gtkcellrenderertoggle.c | 2 +- gtk/gtkcolorswatch.c | 2 +- gtk/gtkcssfiltervalue.c | 2 +- gtk/gtkcssimagecrossfade.c | 4 +-- gtk/gtkiconview.c | 2 +- gtk/gtkmenu.c | 2 +- gtk/gtkpaned.c | 4 +-- gtk/gtkrenderbackground.c | 10 +++---- gtk/gtkrendericon.c | 8 +++--- gtk/gtkrevealer.c | 2 +- gtk/gtksnapshot.c | 53 ++++++++++++++---------------------- gtk/gtksnapshot.h | 4 +-- gtk/gtkstack.c | 14 +++++----- gtk/gtktreeview.c | 4 +-- gtk/gtkviewport.c | 2 +- gtk/gtkwidget.c | 4 +-- 20 files changed, 57 insertions(+), 73 deletions(-) commit bc3ba6864174a905d095a3a57a2cb0889d229d9e Author: Benjamin Otte Date: Thu Jan 12 23:20:31 2017 +0100 snapshot: Add gtk_snapshot_push_blend() and use it for backgrounds. docs/reference/gtk/gtk4-sections.txt | 1 + gtk/gtkrenderbackground.c | 75 ++++++++--------------------- gtk/gtksnapshot.c | 91 ++++++++++++++++++++++++++++++++++++ gtk/gtksnapshot.h | 5 ++ gtk/gtksnapshotprivate.h | 4 ++ 5 files changed, 120 insertions(+), 56 deletions(-) commit 9616df9292de13341fb828ef4d7913d173825089 Author: Benjamin Otte Date: Thu Jan 12 23:20:11 2017 +0100 reftests: Fix test No, GtkActions don't need to be part of this test. testsuite/reftests/box-shadow-with-blend-mode.ref.ui | 2 -- testsuite/reftests/box-shadow-with-blend-mode.ui | 2 -- 2 files changed, 4 deletions(-) commit 4668e6dc63490e992f0159358c76060a4e6f10bc Author: Benjamin Otte Date: Thu Jan 12 22:49:53 2017 +0100 stack: Build stored render node with custom Snapshot object This is in preparation for API changes in GtkSnapshot. gtk/gtkstack.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) commit d9b0685b495926af602990e709feaad5822d5724 Author: Benjamin Otte Date: Thu Jan 12 22:00:38 2017 +0100 Add gtk_snapshot_push_cross_fade() ... and use it. The function is a bit awkward because it requires 2 calls to gtk_snapshot_pop(), but once you accept that, it's very convenient to use, as can be seen by the 2 implementations. docs/reference/gtk/gtk4-sections.txt | 1 + gtk/gtkcssimagecrossfade.c | 63 ++---------------- gtk/gtksnapshot.c | 122 ++++++++++++++++++++++++++++++++++- gtk/gtksnapshot.h | 5 ++ gtk/gtksnapshotprivate.h | 4 ++ gtk/gtkstack.c | 33 ++-------- 6 files changed, 145 insertions(+), 83 deletions(-) commit 670ae58cc9c69cb295822e8e41abd9497171404e Author: William Hua Date: Thu Jan 12 17:16:27 2017 -0500 mir: use modal window hint gdk/mir/gdkmirwindowimpl.c | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) commit b355c80977acedf5e77695e8b0cbbe19986cbd6b Author: Matthias Clasen Date: Thu Jan 12 15:30:11 2017 -0500 widget-factory: Add a system tab to the about dialog Just for trying it out. demos/widget-factory/widget-factory.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) commit 3024956df11fde9d4879e595c6fda911073a95e3 Author: Matthias Clasen Date: Thu Dec 29 23:12:42 2016 -0500 about dialog: Add a "system" tab This is a free-form tab that can contain information about the system environment. To see it, set GtkAboutDialog::system-information to a non-NULL value. https://bugzilla.gnome.org/show_bug.cgi?id=776604 gtk/gtkaboutdialog.c | 102 ++++++++++++++++++++++++++++++++++++++++++++++- gtk/gtkaboutdialog.h | 5 +++ gtk/ui/gtkaboutdialog.ui | 49 ++++++++++++++++++----- 3 files changed, 144 insertions(+), 12 deletions(-) commit e08918cce0cd2f31924c4960af5194361b0f69dd Author: Timm Bäder Date: Thu Jan 12 15:14:25 2017 +0100 actionbar: Notify when :revealed changes gtk/gtkactionbar.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit db12128d350dbf792af43987bda599291afde2fe Author: Timm Bäder Date: Thu Jan 12 08:37:15 2017 +0100 infobar: Fix copy&paste error in documentation Of course you shouldn't call gtk_dialog_response on a GtkInfoBar. gtk/gtkinfobar.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 58c252d5e6640c3f8c3e8bdf0b97f967b26b1728 Author: Timm Bäder Date: Thu Jan 12 09:10:02 2017 +0100 infobar demo: Adapt to GtkInfoBar changes Bind GtkToggleButton:active to GtkInfoBar:revealed instead of :visible. demos/gtk-demo/infobar.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) commit 1bb4f1e9d9c4fb54e1a4b4e05bf6c5d1302f00d3 Author: Timm Bäder Date: Thu Jan 12 09:09:22 2017 +0100 infobar: Add :revealed property gtk/gtkinfobar.c | 94 ++++++++++++++++++++++++++++++++++------------------ gtk/gtkinfobar.h | 6 ++++ gtk/ui/gtkinfobar.ui | 1 + 3 files changed, 68 insertions(+), 33 deletions(-) commit e3871c4424081cc521e7ec6502ef5cfb6a535b2a Author: Timm Bäder Date: Thu Jan 12 08:42:09 2017 +0100 infobar: Keep GParamSpecs around So we can use them in notify_by_pspec gtk/gtkinfobar.c | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) commit d54117024c08b2de3f2ea08a3730040734a1bd43 Author: Benjamin Otte Date: Thu Jan 12 02:01:07 2017 +0100 x11: Add call to XInitThreads() The Mesa Vulkan drivers need XInitThreads() being called, because their implementation has to use threads. And I don't want to make the call depend on if Vulkan is compiled in because that makes GTK's X11 behavior depend on compile-time flags, so it's always called. gdk/x11/gdkdisplay-x11.c | 2 ++ 1 file changed, 2 insertions(+) commit 0868757cfd78295f5dedce1ae83ae95b32460947 Author: Matthias Clasen Date: Wed Jan 11 14:07:56 2017 -0500 More filter documentation updates Actually document the filter property, not just -gtk-icon-filter. docs/reference/gtk/css-properties.xml | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) commit 5f2a7ed3c14a34ca32add931184761010c353ba1 Author: Matthias Clasen Date: Wed Jan 11 13:38:26 2017 -0500 Correct the -gtk-icon-filter docs I was overlooking that it is possible to specify multiple functions. Also add a reference to the relevant spec draft. docs/reference/gtk/css-properties.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 10bc71a5e6bcd2f214230b670e4505ce4a2f2306 Author: Benjamin Otte Date: Wed Jan 11 15:17:49 2017 +0100 build: List resource files explicitly This way, we ensure that files that are built during make always get properly listed. And we ensure that creating the resources actually depends on them. gsk/Makefile.am | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) commit b8371a1d61f127ef186d90990040956235f82bec Author: Benjamin Otte Date: Tue Jan 10 15:59:26 2017 +0100 shortcutswindow: Make dispose work properly gtk/gtkshortcutswindow.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) commit fd762d203cb0500e863bd9624418af71de4998fb Author: Benjamin Otte Date: Tue Jan 10 15:41:11 2017 +0100 tests: Add a rendernode test for borders tests/rendernode-create-tests.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) commit b186bce7ff4febcb3fd7cd77a0c40ab7dcb4886b Author: Benjamin Otte Date: Tue Jan 10 14:59:20 2017 +0100 vulkan: Add shader for border rendering gsk/Makefile.am | 12 +- gsk/gskrendernodeimpl.c | 12 +- gsk/gskrendernodeprivate.h | 4 +- gsk/gskvulkanborderpipeline.c | 163 +++++++++++++++++++++ gsk/gskvulkanborderpipelineprivate.h | 34 +++++ gsk/gskvulkanrender.c | 6 +- gsk/gskvulkanrenderpass.c | 58 +++++++- gsk/gskvulkanrenderprivate.h | 3 + gsk/resources/vulkan/border-clip-rounded.frag.glsl | 34 +++++ gsk/resources/vulkan/border-clip-rounded.frag.spv | Bin 0 -> 9832 bytes gsk/resources/vulkan/border-clip-rounded.vert.glsl | 123 ++++++++++++++++ gsk/resources/vulkan/border-clip-rounded.vert.spv | Bin 0 -> 9312 bytes gsk/resources/vulkan/border-clip.frag.glsl | 23 +++ gsk/resources/vulkan/border-clip.frag.spv | Bin 0 -> 9008 bytes gsk/resources/vulkan/border-clip.vert.glsl | 117 +++++++++++++++ gsk/resources/vulkan/border-clip.vert.spv | Bin 0 -> 8952 bytes gsk/resources/vulkan/border.frag.glsl | 23 +++ gsk/resources/vulkan/border.frag.spv | Bin 0 -> 9008 bytes gsk/resources/vulkan/border.vert.glsl | 106 ++++++++++++++ gsk/resources/vulkan/border.vert.spv | Bin 0 -> 7216 bytes gsk/resources/vulkan/rounded-rect.glsl | 69 +++++++++ 21 files changed, 775 insertions(+), 12 deletions(-) commit c00f8dce9f8076e3e914210dda62e7fd2207d1e4 Author: Alexander Larsson Date: Wed Jan 11 16:14:03 2017 +0100 GtkSnapshot: Always use int for the translation We already take ints when setting the translation, so it can't currently take any other values. Additionally, I was seeing large costs in int -> double -> int for the rects in gtk_snapshot_clips_rect(), as all callers really are ints (widget allocations) and the clip region is int-based. This change completely cleared a 2% rectangle_init_from_graphene from the profile and is likely to have nice performance effects elsewhere too. gtk/gtkcssgadget.c | 2 +- gtk/gtkcssimagelinear.c | 2 +- gtk/gtkcssshadowvalue.c | 4 ++-- gtk/gtkiconview.c | 14 +++++++------- gtk/gtkrenderborder.c | 2 +- gtk/gtksnapshot.c | 21 +++++++++++---------- gtk/gtksnapshot.h | 6 +++--- gtk/gtksnapshotprivate.h | 4 ++-- gtk/gtkwidget.c | 16 ++++++++++++---- 9 files changed, 40 insertions(+), 31 deletions(-) commit 275185d4157f40def0ec34c98058a98c4b98382f Author: Alexander Larsson Date: Wed Jan 11 15:30:30 2017 +0100 widget: Avoid typechecks when accessing ->clip and ->allocation gtk/gtkwidget.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) commit 8cabfef9c9068b07a369f8a56a9e2b96b6c130e0 Author: Alexander Larsson Date: Wed Jan 11 15:28:35 2017 +0100 GtkCSSImage: Avoid some type checks The width/height/aspect getters are called a lot, and almost all callers already verify it from _gtk_css_image_get_concrete_size (), so just skip these checks. gtk/gtkcssimage.c | 6 ------ 1 file changed, 6 deletions(-) commit 7bee22bcb6ad9a71bfcf8a38edc070a685a627a3 Author: Alexander Larsson Date: Wed Jan 11 15:27:51 2017 +0100 Avoid some more type checks for internal calls gtk/gtkbox.c | 8 ++++---- gtk/gtkframe.c | 2 +- gtk/gtkgrid.c | 2 +- gtk/gtklabel.c | 12 ++++++------ gtk/gtkoverlay.c | 3 ++- gtk/gtkpopover.c | 4 ++-- gtk/gtkscrolledwindow.c | 12 ++++++------ gtk/gtkspinbutton.c | 2 +- gtk/gtkstack.c | 2 +- gtk/gtktreeview.c | 28 ++++++++++++++-------------- gtk/gtkviewport.c | 2 +- gtk/gtkwidget.c | 4 +--- 12 files changed, 40 insertions(+), 41 deletions(-) commit 68a27a995160894c1075dcdc163382a1714f0db6 Author: Alexander Larsson Date: Wed Jan 11 12:04:21 2017 +0100 gtkcssgadget: Use private non-checking versions of gtk_widget calls This avoids a lot of checking overhead. gtk/gtkcssgadget.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 6341fab985864cfa337c55cb35e06a7b13119838 Author: Alexander Larsson Date: Wed Jan 11 11:41:46 2017 +0100 GtkSnapshot: Reuse snapshot state objects Rather than allocate new ones all the time we reuse the previous ones. We just clear them and save them in the parent for later reuse. gtk/gtksnapshot.c | 40 +++++++++++++++++++++++++++++----------- gtk/gtksnapshotprivate.h | 1 + 2 files changed, 30 insertions(+), 11 deletions(-) commit f67ae85b7a33bf1a6a141050d5fc659b0c678d1b Author: Alexander Larsson Date: Wed Jan 11 11:21:27 2017 +0100 GtkSnapshot: Move collect data to a union in the state This means we allocate the collect data with the state, avoiding an extra allocation. Also, a union means every state object is the same size and we could reuse the state objects. gtk/gtksnapshot.c | 326 +++++++++++++++++++++++------------------------ gtk/gtksnapshotprivate.h | 36 +++++- 2 files changed, 188 insertions(+), 174 deletions(-) commit 65ad2541d736a699d01642096631984be7d64681 Author: Alexander Larsson Date: Wed Jan 11 10:08:58 2017 +0100 Snapshot: Only record names if inspector is recording Otherwise we do a lot of allocations and vprintf calls which are not used. gtk/gtkcssimage.c | 2 +- gtk/gtkcssimagecrossfade.c | 3 ++- gtk/gtkcssimagelinear.c | 9 ++++++--- gtk/gtkcssshadowvalue.c | 8 +++++--- gtk/gtkiconview.c | 2 +- gtk/gtkrenderbackground.c | 3 ++- gtk/gtkrenderborder.c | 3 ++- gtk/gtksnapshot.c | 50 +++++++++++++++++++++++++++------------------- gtk/gtksnapshotprivate.h | 5 +++-- gtk/gtkstack.c | 10 +++++++--- gtk/gtktreeview.c | 2 +- gtk/gtkwidget.c | 3 ++- gtk/inspector/window.c | 16 +++++++++++++++ gtk/inspector/window.h | 1 + 14 files changed, 79 insertions(+), 38 deletions(-) commit 2f453cc57e37638178f0cf2241609e829963af51 Author: Alexander Larsson Date: Wed Jan 11 09:23:37 2017 +0100 gsk_rounded_rect_init_copy: Don't normalize This was showing up quite high on the profiles, and there is no real reason for copy to normalize, as the source is a GskRoundedRect which should be normalized already unless you did something very strange (and then you should have normalized manually). gsk/gskroundedrect.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) commit 882290b479c02f2bc6d1d3d85b09dc3cc66dc9b9 Author: Alexander Larsson Date: Wed Jan 11 08:51:04 2017 +0100 Skip dynamic type check in css value getters This gets called a lot during snapshotting, and this change alone brings down snapshot time by almost 10% in a syntethic snapshot test. gtk/gtkcssanimatedstyle.c | 5 ++--- gtk/gtkcssstaticstyle.c | 3 ++- gtk/gtkcssstyle.c | 2 -- 3 files changed, 4 insertions(+), 6 deletions(-) commit 249a0b1f22a9b7cb882c2d9ce18994a028025072 Author: Matthias Clasen Date: Tue Jan 10 21:20:38 2017 -0500 Some updates to the migration guide docs/reference/gtk/migrating-3to4.xml | 51 +++++++++++++++++++++++++++++++++-- 1 file changed, 49 insertions(+), 2 deletions(-) commit 8a83362fb88c69354de2e1a34a9fe2b01b712ba8 Author: Matthias Clasen Date: Tue Jan 10 21:12:38 2017 -0500 Document -gtk-icon-filter Not much detail here yet, but the syntax is documented. docs/reference/gtk/css-properties.xml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) commit 4c7ddbf519db17010328b4ffaba994f5b6a9f94c Author: Benjamin Otte Date: Wed Jan 11 02:51:50 2017 +0100 cssimage: Fix cross-fade Simgle image cross-fade opacity was computed the wrong way, which caused weird fade-in/out animations, for example in flat buttons. I messed this up when porting cross-fades to snapshot(). gtk/gtkcssimagecrossfade.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 9133ec5cd49207c36f0a4f3f92776a3d3d81d855 Author: Matthias Clasen Date: Tue Jan 10 19:53:08 2017 -0500 Remove an unnecessary check Since the demise of theme engines, we can no longer hit the case of id >= GTK_CSS_PROPERTY_N_PROPERTIES. So don't check for this in a very frequently called function. gtk/gtkcssstaticstyle.c | 7 ------- 1 file changed, 7 deletions(-) commit c1dc36dff011ce0cfcc802e73409a2849df24aaf Author: Matthias Clasen Date: Tue Jan 10 19:52:22 2017 -0500 Use an internal parameter check here as well We should not slow down the core parts of the css machinery with type checks. gtk/gtkcssnumbervalue.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit ecd0ce3993c3b821df9fe11e136d787a6be3e3e2 Author: Matthias Clasen Date: Tue Jan 10 19:47:58 2017 -0500 Use gtk_internal_return_val_if_fail here It seems odd to have checks in just a few functions, so switch everything over to use the internal versions. gtk/gtkcssgadget.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit a013a16d1ceab34927a81f7f380823cf6bb4b72a Author: Matthias Clasen Date: Tue Jan 10 18:37:12 2017 -0500 Use _gtk_widget_get_window more This avoids type checks in places where we know it is safe. gtk/gtkiconhelper.c | 5 +++-- gtk/gtktooltip.c | 2 +- gtk/gtkwidget.c | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) commit d9bc675cbab744733fb805163a0e95fc7cdf3280 Author: Matthias Clasen Date: Tue Jan 10 18:34:50 2017 -0500 Refactor some css transition code slightly Reshuffling things a bit to avoid a bunch of NULL and type checks. gtk/gtkcssanimatedstyle.c | 37 +++++++++++++++---------------------- 1 file changed, 15 insertions(+), 22 deletions(-) commit 4f0cf475a523253225adce94128112f764781a1c Author: Matthias Clasen Date: Tue Jan 10 17:13:51 2017 -0500 Use the .symbolic.png assets in Adwaita Using an image() fallback from svg to png doesn't make too much sense, since the svg is always used (unless librsvg is not present), while the png icon is faster and cheaper to load and thus preferable. gtk/theme/Adwaita/_common.scss | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) commit ae61220c9fdd587771e9d474240327b9f8fbeb62 Author: Rui Matos Date: Mon Jan 9 17:47:54 2017 +0100 gdk/wayland: Handle non-existant gsettings keys Since we're a library, crashing on gsettings keys, whose presence is out of our control, isn't appropriate. https://bugzilla.gnome.org/show_bug.cgi?id=775846 gdk/wayland/gdkscreen-wayland.c | 77 ++++++++++++++++++++++------------------- 1 file changed, 41 insertions(+), 36 deletions(-) commit b46da27d34fdae40541e648a0a8ece20981f75a5 Author: Rui Matos Date: Thu Dec 8 18:18:53 2016 +0100 gdk/wayland: Add support for the gtk-enable-primary-paste gsetting The gsetting was recently added so that we can have this configurable on the wayland backend too. https://bugzilla.gnome.org/show_bug.cgi?id=775846 gdk/wayland/gdkscreen-wayland.c | 1 + 1 file changed, 1 insertion(+) commit 57a11ca28defaf91b9316537033cad92a8893bdb Author: William Hua Date: Mon Jan 9 17:54:37 2017 -0500 mir: fix compile-time warnings gdk/mir/gdkmir-debug.c | 10 ++++++++++ gdk/mir/gdkmireventsource.c | 2 ++ gdk/mir/gdkmirscreen.c | 4 ++++ 3 files changed, 16 insertions(+) commit 0b7542bad11431a60e6341b20b32afc7014b5da8 Author: Daniel Boles Date: Mon Jan 9 22:34:30 2017 +0000 revealer: Fix a typo in a function doc Also, "ie" wasn't very clear, but fixing that to "i.e." would cause truncation of the summary when processed by bindings using doxygen. So, I replaced it with "in other words", which is no _less_ clear, at least. gtk/gtkrevealer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a50a98f38b9a833011012f8a8f1cec01656acb6b Author: William Hua Date: Mon Jan 9 12:04:48 2017 -0500 mir: properly handle empty clipboard https://bugzilla.gnome.org/show_bug.cgi?id=775732 gdk/mir/gdkmirdisplay.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) commit ea58ebe76d1854b0b42ad960a3d3e61203e7a3c5 Author: Chun-wei Fan Date: Mon Jan 9 15:33:25 2017 +0800 Visual Studio builds: Move project files to win32/ It was suggested that the project files to be moved to win32/, so that we can have one less layer of directories we need to go down into to reach the project files. Makefile.am | 2 +- build/Makefile-newvs.am | 47 ------- build/Makefile.am | 5 - build/Makefile.msvcproj | 154 --------------------- build/win32/vs12/gsk-4.vcxproj.filtersin | 39 ------ build/win32/vs12/gtk-4.vcxproj.filtersin | 46 ------ build/win32/vs12/gtk4-builder-tool.vcxproj.filters | 20 --- build/win32/vs12/gtk4-gen-srcs.props | 100 ------------- .../win32/vs12/gtk4-query-settings.vcxproj.filters | 20 --- configure.ac | 9 +- demos/gtk-demo/Makefile.am | 6 +- demos/icon-browser/Makefile.am | 4 +- gdk/Makefile.am | 16 +-- gdk/win32/Makefile.am | 6 +- gsk/Makefile.am | 22 +-- gtk/Makefile.am | 12 +- win32/Makefile-newvs.am | 46 ++++++ {build/win32 => win32}/Makefile.am | 2 +- {build => win32}/Makefile.msvc-introspection | 64 ++++----- win32/Makefile.msvcproj | 153 ++++++++++++++++++++ {build/win32 => win32}/detectenv-msvc.mak | 0 {build/win32 => win32}/gen-enums.batin | 2 +- {build/win32 => win32}/gtk-introspection-msvc.mak | 0 {build/win32 => win32}/gtkpc.py | 0 {build/win32 => win32}/introspection-msvc.mak | 2 +- {build/win32 => win32}/pc_base.py | 2 +- {build/win32 => win32}/replace.py | 0 {build/win32 => win32}/vs12/Makefile.am | 6 +- {build/win32 => win32}/vs12/README.txt | 0 .../win32 => win32}/vs12/gdk-4.vcxproj.filtersin | 2 +- {build/win32 => win32}/vs12/gdk-4.vcxprojin | 10 +- .../vs12/gdk4-win32.vcxproj.filtersin | 0 {build/win32 => win32}/vs12/gdk4-win32.vcxprojin | 8 +- win32/vs12/gsk-4.vcxproj.filtersin | 39 ++++++ {build/win32 => win32}/vs12/gsk-4.vcxprojin | 66 ++++----- {build/win32 => win32}/vs12/gtk+-4.sln | 0 win32/vs12/gtk-4.vcxproj.filtersin | 46 ++++++ {build/win32 => win32}/vs12/gtk-4.vcxprojin | 82 +++++------ .../win32 => win32}/vs12/gtk4-build-defines.props | 2 +- .../win32 => win32}/vs12/gtk4-builder-tool.vcxproj | 2 +- win32/vs12/gtk4-builder-tool.vcxproj.filters | 20 +++ .../vs12/gtk4-demo-application.vcxproj.filtersin | 0 .../vs12/gtk4-demo-application.vcxprojin | 0 .../vs12/gtk4-demo.vcxproj.filtersin | 0 {build/win32 => win32}/vs12/gtk4-demo.vcxprojin | 8 +- .../vs12/gtk4-encode-symbolic-svg.vcxproj | 10 +- .../vs12/gtk4-encode-symbolic-svg.vcxproj.filters | 2 +- win32/vs12/gtk4-gen-srcs.props | 100 +++++++++++++ .../vs12/gtk4-icon-browser.vcxproj.filtersin | 0 .../vs12/gtk4-icon-browser.vcxprojin | 8 +- {build/win32 => win32}/vs12/gtk4-install.propsin | 14 +- {build/win32 => win32}/vs12/gtk4-install.vcxproj | 2 +- .../vs12/gtk4-install.vcxproj.filters | 2 +- {build/win32 => win32}/vs12/gtk4-prebuild.vcxproj | 32 ++--- .../vs12/gtk4-prebuild.vcxproj.filters | 8 +- .../vs12/gtk4-query-settings.vcxproj | 2 +- .../vs12/gtk4-query-settings.vcxproj.filters | 2 +- .../vs12/gtk4-update-icon-cache.vcxproj | 2 +- win32/vs12/gtk4-update-icon-cache.vcxproj.filters | 20 +++ .../vs12/gtk4-version-paths.props.in | 4 +- {build/win32 => win32}/vs14/Makefile.am | 2 +- 61 files changed, 636 insertions(+), 644 deletions(-) commit e382d9d9b57fcbef518385a73cda29d3a8743d77 Author: Chun-wei Fan Date: Mon Jan 9 12:11:33 2017 +0800 build/Makefile.msvcproj: Improve documentation Tell people about what happens when generating projects when Visual Studio 2013 or later is required, and mention that the .headers are only needed when headers need to be copied. build/Makefile.msvcproj | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) commit dcb15d67287f17528b3a5fb0bc260a8e28a99a84 Author: Benjamin Otte Date: Mon Jan 9 01:10:22 2017 +0100 cssgadget: Compute clip correctly We were computing it relative to the gadget allocation, but it should be relative to the widget allocation. gtk/gtkcssgadget.c | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) commit deb458c6568040f50916f1ac10e5dc93e0bcf0d5 Author: Timm Bäder Date: Sun Jan 8 16:58:27 2017 +0100 widget: Document child/sibling accessors gtk/gtkwidget.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) commit 545fb271b7e2ef0346c79bfc1f7b67c5cbc371c6 Author: Timm Bäder Date: Sun Jan 8 16:54:34 2017 +0100 switch: Use a widget as slider gtk/gtkswitch.c | 43 ++++++++++--------------------------------- 1 file changed, 10 insertions(+), 33 deletions(-) commit 9b76badb50e51bac8163b7abd75fa63276599a97 Author: Timm Bäder Date: Sun Jan 8 16:44:46 2017 +0100 widget: Add construct-only css-name property So we can set the css name of a widget to something that's not related to the class name. If the css-name property is set to NULL, we will still fall back to the one set using gtk_widget_class_set_css_name which is alwasys non-NULL since GtkWidget itself sets it to "widget". gtk/gtkwidget.c | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) commit d15ca3b2b419430f10fd892c9e0567c66c700486 Author: Timm Bäder Date: Sun Jan 8 15:10:52 2017 +0100 actionbar: Fix class and instance struct parent member gtk/gtkactionbar.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 3d5a62a0c9ea5fbc25ec952cc9c72e0c3da18ce4 Author: Timm Bäder Date: Sun Jan 8 14:52:34 2017 +0100 actionbar: Add revealed property So we can show and hide it with a transition as well as bind another property to it. docs/reference/gtk/gtk4-sections.txt | 2 + gtk/gtkactionbar.c | 97 ++++++++++++++++++++++++++++++++++++ gtk/gtkactionbar.h | 8 +++ tests/testactionbar.c | 6 +-- 4 files changed, 110 insertions(+), 3 deletions(-) commit ad8acdcebfb17bae4fd4d2e83621dafea5088911 Author: Timm Bäder Date: Sun Jan 8 13:10:43 2017 +0100 testsuite/cssprovider: Use actual existing style property All the style properties in GtkTreeView are gone, so use one from GtkScrollbar for now. testsuite/gtk/cssprovider.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit c392f41bb2d53a1b40fe236cfe1a04efe6d97066 Author: Timm Bäder Date: Sun Jan 8 13:07:12 2017 +0100 builderparser: Shuffle if-statements around once more The previous reordering broke the builderparser test case. gtk/gtkbuilderparser.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) commit f00ccd32592335d49ed59dcac9375b6fd16e9293 Author: Timm Bäder Date: Sun Jan 8 12:02:48 2017 +0100 testsuite/builder: Use g_assert_no_error to check GError So we get a proper error message. testsuite/gtk/builder.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit de6b788a9186a78b84b2d0e3d3529645b7d390fb Author: Timm Bäder Date: Sun Jan 8 11:06:49 2017 +0100 printunixdialog: Remove leftover draw handler gtk/ui/gtkprintunixdialog.ui | 1 - 1 file changed, 1 deletion(-) commit 48d5f7843b038a93d2e0774d773ddf43e76adc9b Author: Timm Bäder Date: Sun Jan 8 10:49:06 2017 +0100 actionbar: Add revealer as internal child gtk/Makefile.am | 1 - gtk/gtkactionbar.c | 61 +++++++++++++++----------------------------------- gtk/ui/gtkactionbar.ui | 17 -------------- 3 files changed, 18 insertions(+), 61 deletions(-) commit 12c227475034cb41a2edb2feed6472aabaf662e7 Author: Timm Bäder Date: Sun Jan 8 10:46:26 2017 +0100 actionbar: Remove show() and hide() implementations They only show/hide the widget in a delayed fashion which doesn't work, just like it doesn't work with infobars and popovers. gtk/gtkactionbar.c | 30 ------------------------------ 1 file changed, 30 deletions(-) commit c78bf6341d6fd323c08c8cbbe7c5f8d9e1423f63 Author: Rafael Fontenelle Date: Sun Jan 8 04:31:34 2017 +0000 Update Brazilian Portuguese translation po-properties/pt_BR.po | 14005 +++++++++++++++++++++++------------------------ 1 file changed, 6792 insertions(+), 7213 deletions(-) commit 93e609ed69885a673f6c9eed6837915eee97b018 Author: Rafael Fontenelle Date: Sun Jan 8 03:40:55 2017 +0000 Update Brazilian Portuguese translation po/pt_BR.po | 2010 ++++++++++++++++++++++++++++------------------------------- 1 file changed, 953 insertions(+), 1057 deletions(-) commit 7ade6e3f4668220f0fa1382944a87e63691ad9ad Author: Benjamin Otte Date: Sun Jan 8 03:34:58 2017 +0100 gdk: Remove testing functions They were unused and unimplemented. docs/reference/gdk/gdk4-sections.txt | 8 -- gdk/Makefile.am | 3 - gdk/broadway/Makefile.am | 1 - gdk/broadway/gdkprivate-broadway.h | 13 --- gdk/broadway/gdktestutils-broadway.c | 66 ------------- gdk/broadway/gdkwindow-broadway.c | 3 - gdk/gdk.h | 1 - gdk/gdktestutils.h | 61 ------------ gdk/gdkwindow.c | 100 ------------------- gdk/gdkwindowimpl.h | 14 --- gdk/mir/gdkmirwindowimpl.c | 34 ------- gdk/quartz/Makefile.am | 1 - gdk/quartz/gdkprivate-quartz.h | 15 --- gdk/quartz/gdktestutils-quartz.c | 65 ------------- gdk/quartz/gdkwindow-quartz.c | 3 - gdk/wayland/gdkwindow-wayland.c | 30 ------ gdk/win32/Makefile.am | 1 - gdk/win32/gdkprivate-win32.h | 12 --- gdk/win32/gdktestutils-win32.c | 127 ------------------------ gdk/win32/gdkwindow-win32.c | 3 - gdk/x11/Makefile.am | 1 - gdk/x11/gdkprivate-x11.h | 13 --- gdk/x11/gdktestutils-x11.c | 184 ----------------------------------- gdk/x11/gdkwindow-x11.c | 3 - 24 files changed, 762 deletions(-) commit 2a9ae1e8df5d59140e54d3b05419f27fb2ac7d7b Author: Benjamin Otte Date: Sun Jan 8 01:47:51 2017 +0100 tests: Remove gtk_widget_send_key() It's unused in GTK. docs/reference/gtk/gtk4-sections.txt | 1 - gtk/gtktestutils.c | 60 ------------------------------------ gtk/gtktestutils.h | 4 --- 3 files changed, 65 deletions(-) commit daf0270f1a5e8bca7b7c9cce66e2a10c17a17cb4 Author: Benjamin Otte Date: Sun Jan 8 01:42:03 2017 +0100 tests: Remove widget find functions They are all unused by GTK. And other people can write their own find functions if they need any in their tests. docs/reference/gtk/gtk4-sections.txt | 3 - gtk/gtktestutils.c | 180 ----------------------------------- gtk/gtktestutils.h | 11 --- 3 files changed, 194 deletions(-) commit 507a1e4d7a21387f2b245e93d3e2cc395a41fbd4 Author: Matthias Clasen Date: Wed Jan 4 14:42:33 2017 -0500 Make GTK_DEBUG=interactive work better We currently have various ways to initialize GTK+, and not all of them were supporting this way of bringing up the inspector. Fix this. https://bugzilla.gnome.org/show_bug.cgi?id=776807 gtk/gtkmain.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) commit 9629cbfce4ff60cc611703b367523e77dfb93643 Author: Pavel Grunt Date: Mon Jan 2 21:46:22 2017 +0100 build: Fix vulkan detection Add missing 'test' https://bugzilla.gnome.org/show_bug.cgi?id=776736 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 4749eedc084df5aa2764aba0d7a386d3c32c27ac Author: Benjamin Otte Date: Sun Jan 8 00:46:08 2017 +0100 docs: Remove a line that's not true anymore gdk/gdkwindow.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit c1f1dae997194cb0d1f10b7af34b400d770563ec Author: Benjamin Otte Date: Sat Jan 7 17:09:25 2017 +0100 viewport: Remove API to query GdkWindows docs/reference/gtk/gtk4-sections.txt | 2 -- gtk/gtkflowbox.c | 8 ++------ gtk/gtkviewport.c | 36 ------------------------------------ gtk/gtkviewport.h | 4 ---- 4 files changed, 2 insertions(+), 48 deletions(-) commit d50b73f66db7946dd0d50a189c6d11f2273d559f Author: Benjamin Otte Date: Sat Jan 7 16:07:21 2017 +0100 treeview: Remove gtk_tree_view_get_bin_window() We don't want to expose GdkWindows in the public API. docs/reference/gtk/gtk4-sections.txt | 1 - gtk/a11y/gtktextcellaccessible.c | 16 ++++++++++----- gtk/a11y/gtktreeviewaccessible.c | 14 ++++++------- gtk/gtkrecentchooserdefault.c | 3 --- gtk/gtktreeview.c | 38 ++++++++---------------------------- gtk/gtktreeview.h | 2 -- tests/testtreeedit.c | 5 ++--- 7 files changed, 28 insertions(+), 51 deletions(-) commit bc797f38f5a40e06a9107eb65add0f4665904583 Author: Benjamin Otte Date: Sat Jan 7 15:27:02 2017 +0100 gdk: Remove unused debug category gdk/gdk.c | 1 - gdk/gdkinternals.h | 11 +++++------ 2 files changed, 5 insertions(+), 7 deletions(-) commit 1e6fce97a5e33484cc12034d45645b2b84f3f343 Author: Timm Bäder Date: Sat Jan 7 18:08:53 2017 +0100 gtkfishbowl: Remove gtk_container_snapshot_child call demos/gtk-demo/gtkfishbowl.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 47d4ad71fbc680b9a9f47be03d0fdbfcdd3cf636 Author: Timm Bäder Date: Sat Jan 7 17:02:20 2017 +0100 Remove gtk_container_snapshot_child Replace it with the already existing gtk_widget_snapshot_child. docs/reference/gtk/gtk4-sections.txt | 2 +- gtk/gtkbbox.c | 6 ++--- gtk/gtkcombobox.c | 4 ++-- gtk/gtkcontainer.c | 45 +++--------------------------------- gtk/gtkcontainer.h | 4 ---- gtk/gtkfixed.c | 7 +++--- gtk/gtkmodelbutton.c | 2 +- gtk/gtknotebook.c | 12 +++++----- gtk/gtkpaned.c | 4 ++-- gtk/gtkpopover.c | 2 +- gtk/gtkrevealer.c | 5 ++-- gtk/gtkstack.c | 24 +++++++++---------- gtk/gtktoolbar.c | 8 +++---- gtk/gtktreeview.c | 10 ++++---- gtk/gtkwidget.c | 20 ++++++++++++++++ gtk/gtkwidget.h | 4 ++++ gtk/gtkwidgetprivate.h | 5 ---- gtk/gtkwindow.c | 6 ++--- 18 files changed, 74 insertions(+), 96 deletions(-) commit f486805ba094751bb842aa60237448fdc2311f2b Author: Timm Bäder Date: Sat Jan 7 15:58:55 2017 +0100 Unparent child widgets gtk/gtkspinbutton.c | 3 +++ gtk/gtkswitch.c | 5 +++++ 2 files changed, 8 insertions(+) commit 5f98597a0c3878801c12e630755be327263064e2 Author: Timm Bäder Date: Fri Jan 6 17:06:51 2017 +0100 Add gtk_widget_set_focus_child With a very useful implementation, but at least now we don't get runtime warnings. gtk/gtkwidget.c | 22 ++++++++++++++++++++-- gtk/gtkwidget.h | 3 +++ gtk/gtkwindow.c | 2 +- 3 files changed, 24 insertions(+), 3 deletions(-) commit 52aed5d60744cadec2d6ae4cf86814e8851aa8ec Author: Timm Bäder Date: Fri Jan 6 09:43:52 2017 +0100 Add gtk_widget_snapshot_child gtk/gtkboxgadget.c | 2 +- gtk/gtkwidget.c | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++ gtk/gtkwidgetprivate.h | 5 ++++ 3 files changed, 75 insertions(+), 1 deletion(-) commit 08d644c4a53bf6068db1a10a217965ef9d749b83 Author: Timm Bäder Date: Wed Dec 7 14:05:34 2016 +0100 widget: Warn if children are left in finalize() gtk/gtkwidget.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) commit 7d0e534969a78c92be7120c1412e573e6119e9bf Author: Timm Bäder Date: Sun Dec 4 12:48:50 2016 +0100 gtkmain: Correctly notify all widgets of a grab gtk/gtkmain.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) commit 8960bb7c8e35f7fbbfc5fa875eaa0bcce1386967 Author: Timm Bäder Date: Sat Dec 3 11:09:58 2016 +0100 widget: Fix :parent property type Parent widgets can now also be widgets, not just containers. gtk/gtkwidget.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 3698f664b233ce9f007f2ed54dc7f08c13708f5f Author: Timm Bäder Date: Wed Nov 30 17:38:09 2016 +0100 testsuite: Stop testing style properties testsuite/gtk/defaultvalue.c | 35 ----------------------------------- 1 file changed, 35 deletions(-) commit 9aedbc376b6be8685c40f53900e90ac498f3d8ab Author: Timm Bäder Date: Tue Nov 29 18:32:43 2016 +0100 inspector: Don't try to access child props of non-containers gtk/inspector/prop-list.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 5ab2377afaca1e8e27a7c069edf789a41938fcf5 Author: Timm Bäder Date: Wed Nov 23 20:19:44 2016 +0100 widget: Remove gtk_widget_style_get_property docs/reference/gtk/gtk4-sections.txt | 1 - gtk/gtkwidget.c | 55 ------------------------------------ gtk/gtkwidget.h | 4 --- 3 files changed, 60 deletions(-) commit 25236dbed84678873b2b7939ede514767b969248 Author: Timm Bäder Date: Tue Nov 22 22:14:45 2016 +0100 spinbutton: Use widgets for up/down buttons gtk/gtkspinbutton.c | 572 ++++++++++++++-------------------------------------- 1 file changed, 150 insertions(+), 422 deletions(-) commit b2b4d9e418b8c737658d7db27427636372a5f1bb Author: Timm Bäder Date: Tue Nov 15 16:53:03 2016 +0100 switch: Use GtkLabels for on/off labels gtk/gtkswitch.c | 126 ++++++++++++++++++++++---------------------------------- 1 file changed, 50 insertions(+), 76 deletions(-) commit 42f1ff0123f01a4f34d4021bac111c8da4e865ec Author: Timm Bäder Date: Tue Nov 15 16:49:41 2016 +0100 inspector: Show child widgets of widgets gtk/inspector/inspect-button.c | 10 +++++--- gtk/inspector/object-tree.c | 58 +++++++++++++----------------------------- gtk/inspector/visual.c | 9 +++++-- 3 files changed, 32 insertions(+), 45 deletions(-) commit d77b288e650cbd62b2080d48b0d61e53f2e9d6ce Author: Timm Bäder Date: Fri Nov 18 10:02:50 2016 +0100 widget: Implement create_path for widgets with non-container parent gtk/gtkwidget.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) commit af9d932e47aeb858ae91670ddae62547add2f37d Author: Timm Bäder Date: Fri Nov 18 10:02:22 2016 +0100 widget: Unparent widgets in dispose() If they have a non-container parent. gtk/gtkwidget.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit ef44d05894ed2973c93cbc307c76847b0febf7e4 Author: Timm Bäder Date: Fri Nov 18 09:53:58 2016 +0100 widget: Check for containerness before calling container API gtk/gtkwidget.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) commit 8ef73660e41f78442da7ab270469ff5acc876054 Author: Timm Bäder Date: Fri Nov 18 09:50:52 2016 +0100 widget: Implement map/unmap with child widgets Once again, do what GtkContainer did before. gtk/gtkcontainer.c | 34 ---------------------------------- gtk/gtkwidget.c | 23 +++++++++++++++++++++-- 2 files changed, 21 insertions(+), 36 deletions(-) commit b15b9e028f7c3422f9924673ded55d346ce998e3 Author: Timm Bäder Date: Fri Nov 18 09:47:38 2016 +0100 widget: Implement show_all Do what gtk_container_forall did: show_all all children, then the widget itself. gtk/gtkcontainer.c | 14 -------------- gtk/gtkwidget.c | 18 +++++++++++++++++- 2 files changed, 17 insertions(+), 15 deletions(-) commit 8a55a6975c7c62669d6c11c45b0e38ad4fd9d607 Author: Timm Bäder Date: Mon Nov 21 17:04:20 2016 +0100 widget: Iterate over child widgets instead of gtk_container_forall gtk/gtkwidget.c | 139 +++++++++++++++++++++++++++----------------------------- 1 file changed, 68 insertions(+), 71 deletions(-) commit 1e031cba992894892afdcd42470d840e5b3204e7 Author: Timm Bäder Date: Fri Nov 18 09:29:52 2016 +0100 widget: Add children and sibling pointers and a (private) way to access them. We will later use these pointers to manage children of non-container widgets and containers alike. gtk/gtkwidget.c | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++ gtk/gtkwidget.h | 9 ++++++ gtk/gtkwidgetprivate.h | 38 ++++++++++++++++++++++-- 3 files changed, 123 insertions(+), 3 deletions(-) commit 626868c7baefe7f9eec43a4b6268c40e5ee19525 Author: Timm Bäder Date: Wed Jan 4 14:04:09 2017 +0100 combobox: Remove unused define gtk/gtkcombobox.c | 2 -- 1 file changed, 2 deletions(-) commit c6b52a8ad9f963c96865cc934f4d89dc43fcb951 Author: Balázs Meskó Date: Sat Jan 7 10:18:25 2017 +0000 Update Hungarian translation po/hu.po | 82 +++++++++++++++------------------------------------------------- 1 file changed, 19 insertions(+), 63 deletions(-) commit 4fdf880b6e572a1f69ec9f48dc864552c9c0dc94 Author: Benjamin Otte Date: Sat Jan 7 02:05:26 2017 +0100 gtk-demo: Make icon counter work from ui file Gets rid of update always being 1 frame late. demos/gtk-demo/fishbowl.c | 3 +-- demos/gtk-demo/fishbowl.ui | 11 ++++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) commit cd8e41e49175940069f4611c501b8ec47d17f539 Author: Benjamin Otte Date: Sat Jan 7 01:59:23 2017 +0100 gtk-demo: Add GtkFishbowl Avoids usage of GtkFixed where child properties eat up all the CPU time. And that's kinda not what I want to benchmark. demos/gtk-demo/Makefile.am | 2 + demos/gtk-demo/demo.gresource.xml | 2 + demos/gtk-demo/fishbowl.c | 188 +------------- demos/gtk-demo/fishbowl.ui | 3 +- demos/gtk-demo/gtkfishbowl.c | 503 ++++++++++++++++++++++++++++++++++++++ demos/gtk-demo/gtkfishbowl.h | 58 +++++ 6 files changed, 580 insertions(+), 176 deletions(-) commit e4d0459d52e4ce47815dbb06354848339e0f4d33 Author: Benjamin Otte Date: Fri Jan 6 18:10:12 2017 +0100 vulkan: Reallocate descriptor sets Because wee now reset the descriptor pool, we also need to reallocate the descriptor sets. gsk/gskvulkanrender.c | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) commit 5a6ead8760895cf0f29dd019af9738d15638dd26 Author: Benjamin Otte Date: Fri Jan 6 17:16:38 2017 +0100 vulkan: Keep vertex buffer around until cleanup Don't just free it while the command buffer using it is still pending. gsk/gskvulkanrender.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 639b5ffb9b8e524e3052161ce9e82e5f2b13aa71 Author: Benjamin Otte Date: Fri Jan 6 16:31:03 2017 +0100 vulkan: Reset descriptor pool We don't want the pool to reference images we're gonna destroy. Drivers don't like that at all. gsk/gskvulkanrender.c | 3 +++ 1 file changed, 3 insertions(+) commit 833607c19ed6cf3779e12f3cf3b1eae734b48425 Author: Benjamin Otte Date: Thu Jan 5 13:37:58 2017 +0100 gsk: Don't use wildcards Explicitly list all the shaders, so new ones get picked up properly and cause the resource file to be regenerated (due to Makefile.am changing). gsk/Makefile.am | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) commit 078902e8b010d6d70c8d95f5522bfcf1f8a1dfa6 Author: Benjamin Otte Date: Thu Jan 5 13:11:02 2017 +0100 gsk: Have variables for resources Instead of relying on --generate-dependencies and the resource file, actually list the resources in Make variables. Fixes make not building new shaders because they're not inside the resource file. gsk/Makefile.am | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) commit 33a6347766e50102eedcdde3409af7c514ead089 Author: Georges Basile Stavracas Neto Date: Fri Jan 6 02:39:03 2017 -0200 vulkanrender: Create descriptor pools with correct descriptor number gsk/gskvulkanrender.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit fc1cfd569a9897ec01b6661df1e0d054a74f5ac3 Author: Georges Basile Stavracas Neto Date: Fri Jan 6 01:41:20 2017 -0200 vulkancontext: Improve debug output gdk/gdkvulkancontext.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit ea952a6ec350681c22117469f2b8d320034f53bd Author: Georges Basile Stavracas Neto Date: Fri Jan 6 01:35:19 2017 -0200 vulkancontext: Never abort on validation layer debug Validation layers should never interfere on application execution. gdk/gdkvulkancontext.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 5fa1b14a9639e22114e207a8390cd1ef2772646d Author: Matthias Clasen Date: Thu Jan 5 19:48:51 2017 -0500 Revert "Use CSS for styling links in labels" This reverts commit 60a8769e7f0c952fdc8090b1ecd96cca00123ad9. This needs more work to work properly. gtk/gtklabel.c | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) commit 4170f79eea4569fce12a57bd7248211c7fa09e1f Author: Matthias Clasen Date: Thu Jan 5 18:10:52 2017 -0500 Use CSS for styling links in labels This was implemented only halfway, and was hardcoding the underline. We don't need to do that anymore. gtk/gtklabel.c | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) commit 384fe52e96a6c084fac0dd795aa5d5e6d64335eb Author: William Hua Date: Sat Oct 15 22:19:59 2016 +0200 mir: paste clipboard data from content-hub https://bugzilla.gnome.org/show_bug.cgi?id=775732 gdk/mir/gdkmirdisplay.c | 339 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 335 insertions(+), 4 deletions(-) commit 516c0a2aab2bcc19e81fd94e3a007a667dd1996c Author: William Hua Date: Wed Oct 12 16:56:01 2016 -0400 mir: copy clipboard data to content-hub https://bugzilla.gnome.org/show_bug.cgi?id=775732 gdk/mir/gdkmir-private.h | 5 ++ gdk/mir/gdkmirdisplay.c | 60 +++++++++++++++++- gdk/mir/gdkmirwindowimpl.c | 150 ++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 212 insertions(+), 3 deletions(-) commit dcda372c15f5c6585331bb9bbd2b27f5d13b30e6 Author: William Hua Date: Tue Oct 11 16:53:48 2016 -0400 mir: connect to content-hub https://bugzilla.gnome.org/show_bug.cgi?id=775732 configure.ac | 2 +- gdk/mir/gdkmirdisplay.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) commit 440e80c832b8ef2fd3d8a73993c9fa8ba6192fa2 Author: William Hua Date: Fri Oct 14 17:00:34 2016 -0400 mir: track focused window https://bugzilla.gnome.org/show_bug.cgi?id=775732 gdk/mir/gdkmir-private.h | 4 ++++ gdk/mir/gdkmirdisplay.c | 21 +++++++++++++++++++++ gdk/mir/gdkmireventsource.c | 10 ++++++++-- 3 files changed, 33 insertions(+), 2 deletions(-) commit ed0bd0bba29114a893b1355f799f6568dddf5d9a Author: William Hua Date: Tue Oct 11 19:06:12 2016 -0400 mir: implement window properties https://bugzilla.gnome.org/show_bug.cgi?id=775732 gdk/mir/gdkmirwindowimpl.c | 179 +++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 163 insertions(+), 16 deletions(-) commit f3779b42c57b1bf628f83853f5ca532aa061bb12 Author: Matthias Clasen Date: Thu Jan 5 16:36:14 2017 -0500 Make it possible to set style classes for label links This makes it possible to style links in labels differently in certain situations. gtk/gtklabel.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) commit 29dec067fb6b3ea835feb4ece4b0e7812a6909d2 Author: Kjartan Maraas Date: Wed Jan 4 21:25:36 2017 +0100 Updated Norwegian bokmål translation. po/nb.po | 2158 ++++++++++++++++++++++++++++---------------------------------- 1 file changed, 963 insertions(+), 1195 deletions(-) commit 49c452e4f9be78fd8a0f6a8ac4caad2f0f032db4 Author: Daniel Boles Date: Thu Dec 29 00:43:18 2016 +0000 demos/icon-browser: increase default window size ...to get more than 1 row of icons to browse! https://bugzilla.gnome.org/show_bug.cgi?id=776560 I've bumped the size a bit further, to 1024x768 demos/icon-browser/window.ui | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 88699f588d8e04696d04e6fdd1a73fd288521431 Author: Sébastien Wilmet Date: Fri Nov 25 20:08:00 2016 +0100 docs: improve the documentation of GtkEntry:attributes See the implementation of gtk_entry_create_layout(): pango_attr_list_splice() is used to add the PangoAttrList of the preedit string. And that is done *after* applying the PangoAttrList of the "attributes" property. https://bugzilla.gnome.org/show_bug.cgi?id=776868 gtk/gtkentry.c | 3 +++ 1 file changed, 3 insertions(+) commit a001ddf7bf854d567ed123aa029590f0f43c2aa9 Author: Georges Basile Stavracas Neto Date: Wed Jan 4 16:02:44 2017 -0200 vulkan: Use LGPL v2 gdk/wayland/gdkvulkancontext-wayland.c | 2 +- gdk/wayland/gdkvulkancontext-wayland.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 67894ace646053dfbcd3c023abdda1087b76c095 Author: Georges Basile Stavracas Neto Date: Wed Jan 4 15:37:02 2017 -0200 vulkanpushconstants: Don't report invalid ranges Vulkan doesn't accept empty ranges, so simply don't report them. gsk/gskvulkanpushconstants.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit c6ec982ac68676395670086fe36404ef37771be1 Author: Georges Basile Stavracas Neto Date: Wed Jan 4 15:14:21 2017 -0200 vulkan: Turn headers to LGPL gdk/wayland/gdkvulkancontext-wayland.c | 16 ++++++++-------- gdk/wayland/gdkvulkancontext-wayland.h | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) commit f74490739f1016e5b6696cbf68c8528b0ff00525 Author: Benjamin Otte Date: Wed Jan 4 18:38:40 2017 +0100 vulkan: Create required number of swapchain images Wayland has minImageCount == 4, so us just creating 2 images is not very nice. So we don't do that anymore. gdk/gdkvulkancontext.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit efc5f8dc47ca03939ef0101ae36ca1411486dded Author: Benjamin Otte Date: Wed Jan 4 18:26:14 2017 +0100 gdkvulkan: Track if we reffed the display's vulkan data When reffing the display fails in init, we were still trying to unref it. Which obviously failed and spewed warnings to stderr. gdk/gdkvulkancontext.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) commit 3887548d554e3151a5997f81f8657e97b5a2a34d Author: Georges Basile Stavracas Neto Date: Tue Jan 3 21:14:31 2017 -0200 wayland: Add support for Vulkan renderer Mirror what's done with the X11 Vulkan renderer implementation, with the addition of the extra Wayland window synchronization on end_paint() override. gdk/wayland/Makefile.am | 2 + gdk/wayland/gdkdisplay-wayland.c | 9 ++++ gdk/wayland/gdkvulkancontext-wayland.c | 90 ++++++++++++++++++++++++++++++++++ gdk/wayland/gdkvulkancontext-wayland.h | 61 +++++++++++++++++++++++ 4 files changed, 162 insertions(+) commit 38d6e45b32cec7d1aa65d393d9a12b4402d303db Author: Georges Basile Stavracas Neto Date: Tue Jan 3 21:11:57 2017 -0200 vulkancontext: Assume the window geometry when extents are bogus When the current extent is -1, we should assume whatever size the GdkWindow has. gdk/gdkvulkancontext.c | 11 +++++++++++ 1 file changed, 11 insertions(+) commit d62e18ac8736cec000682b3f526e611a549accfe Author: Georges Basile Stavracas Neto Date: Tue Jan 3 21:11:36 2017 -0200 vulkancontext: Fix header gdk/gdkvulkancontextprivate.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f05f0377df567fc3d0211d4385b90dd1c951d9aa Author: Benjamin Otte Date: Sun Jan 1 23:47:53 2017 +0100 vulkan: Modernize blend pipeline - Rename from blit => blend - Use instances - Add clip versions gsk/gskvulkanblendpipeline.c | 48 ++++++++--------- gsk/gskvulkanrender.c | 4 +- gsk/gskvulkanrenderpass.c | 22 ++++++-- gsk/gskvulkanrenderprivate.h | 4 +- gsk/resources/vulkan/blend-clip-rounded.frag.glsl | 57 +++++++++++++++++++++ gsk/resources/vulkan/blend-clip-rounded.frag.spv | Bin 0 -> 5180 bytes gsk/resources/vulkan/blend-clip-rounded.vert.glsl | 53 +++++++++++++++++++ gsk/resources/vulkan/blend-clip-rounded.vert.spv | Bin 0 -> 4940 bytes .../{blit.frag.glsl => blend-clip.frag.glsl} | 2 +- .../vulkan/{blit.frag.spv => blend-clip.frag.spv} | Bin gsk/resources/vulkan/blend-clip.vert.glsl | 46 +++++++++++++++++ gsk/resources/vulkan/blend-clip.vert.spv | Bin 0 -> 4604 bytes gsk/resources/vulkan/blend.frag.glsl | 12 +++++ gsk/resources/vulkan/blend.frag.spv | Bin 0 -> 632 bytes gsk/resources/vulkan/blend.vert.glsl | 31 +++++++++++ gsk/resources/vulkan/blend.vert.spv | Bin 0 -> 1964 bytes gsk/resources/vulkan/blit.vert.glsl | 22 -------- gsk/resources/vulkan/blit.vert.spv | Bin 1252 -> 0 bytes 18 files changed, 247 insertions(+), 54 deletions(-) commit 2f5737cc1c8ada0683d1ec063d5877b2fbae2358 Author: Benjamin Otte Date: Tue Jan 3 23:34:53 2017 +0100 gtk-demo: queue_draw() when the color changes demos/gtk-demo/colorsel.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 901106fd95e2d39992380274d26285dfce0c2c14 Author: Chun-wei Fan Date: Tue Jan 3 15:16:32 2017 +0800 Visual Studio build: Update gsk project A new Vulkan source was added, so this needs to be added to the projects. build/win32/vs12/gsk-4.vcxproj.filtersin | 1 + build/win32/vs12/gsk-4.vcxprojin | 4 ++++ 2 files changed, 5 insertions(+) commit 1b6015f9cc8eb47bd38885c8698ef4b68d388c01 Author: Piotr Drąg Date: Fri Dec 30 19:25:22 2016 +0100 gtkprintbackendfile: Correct PostScript capitalization https://bugzilla.gnome.org/show_bug.cgi?id=776627 modules/printbackends/file/gtkprintbackendfile.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit b993acfe2c7b81e6ed4c35eb4f30bac29f43254e Author: Benjamin Otte Date: Sun Jan 1 19:52:18 2017 +0100 gsk: Add GskRepeatNode Also add gtk_snapshot_push_repeat() and use that to draw backgrounds. With that change, CSS background snapshots are created without Cairo nodes. docs/reference/gsk/gsk4-sections.txt | 1 + docs/reference/gtk/gtk4-sections.txt | 1 + gsk/gskenums.h | 3 + gsk/gskrendernode.h | 5 + gsk/gskrendernodeimpl.c | 171 +++++++++++++++++++++++++++++++++ gsk/gskrendernodeprivate.h | 3 + gtk/gtkrenderbackground.c | 71 ++++++-------- gtk/gtksnapshot.c | 70 ++++++++++++++ gtk/gtksnapshot.h | 6 ++ gtk/inspector/gtktreemodelrendernode.c | 4 + gtk/inspector/recorder.c | 2 + 11 files changed, 297 insertions(+), 40 deletions(-) commit aa917ce3b77ab3fbf4f9417ddb8801bdf1a3bffc Author: Benjamin Otte Date: Sun Jan 1 19:50:25 2017 +0100 css: Redo GtkCssAffects We now have GTK_CSS_AFFECTS_CONTENT for properties that have an effect on content rendering. Using GTK_CSS_AFFECTS_ICON is wrong for icon-transform and icon-filter as they don't change the icon, just how the icon is rendered, so we use GTK_CSS_AFFECTS_CONTENT for those. We also introduce GTK_CSS_AFFECTS_POSTEFFECT for opacity and filter - properties that affect the whole drawing of the widget by applying an effect after everything is said and done. gtk/gtkcssstylepropertyimpl.c | 10 +++++----- gtk/gtkcsstypesprivate.h | 14 +++++++++----- 2 files changed, 14 insertions(+), 10 deletions(-) commit 2571036c077b88203039703de7a66b6e45c20566 Author: Benjamin Otte Date: Sun Jan 1 13:40:13 2017 +0100 gsk: Turn GskTexture into a GObject docs/reference/gsk/gsk4-sections.txt | 2 - gsk/gskrendernodeimpl.c | 6 +- gsk/gsktexture.c | 354 +++++++++++++++++++++++------------ gsk/gsktexture.h | 13 +- gsk/gsktextureprivate.h | 10 +- gtk/gtkcssimageicontheme.c | 2 +- gtk/gtkcssimagesurface.c | 6 +- gtk/gtkiconhelper.c | 4 +- gtk/gtksnapshot.c | 2 +- tests/rendernode.c | 4 +- 10 files changed, 254 insertions(+), 149 deletions(-) commit 4ead5c3ba8bb1ab570b00f392eb654514ce42c4a Author: Benjamin Otte Date: Sat Dec 31 23:09:35 2016 +0100 colorplane: Implement snapshot() gtk/gtkcolorplane.c | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) commit 2fe01a5b570972d01d33a405cf603736bbb94b97 Author: Benjamin Otte Date: Sat Dec 31 22:58:15 2016 +0100 vulkan: Optimize getting textures When we already have a texture or know we need to upload, just do that instead of rendering to Cairo. gsk/gskvulkanrenderpass.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) commit d915292db994130cdceab9dab4e432f257e762d4 Author: Emmanuele Bassi Date: Sun Jan 1 11:10:33 2017 +0000 build: Require graphene-gobject We need the GType wrappers around Graphene types, so we need to do a dependency check on graphene-gobject-1.0, not graphene-1.0. configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit e18d5ca83539d1bce28ded1b79422da37c575209 Author: Benjamin Otte Date: Sat Dec 31 14:14:26 2016 +0100 vulkan: Add support for color matrix nodes @keyframes weee { 100% { filter: hue-rotate(1turn); } } .background { animation: linear infinite 3s weee; } gsk/gskvulkanrenderpass.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) commit e542d411acc1565fab4a82bc80a13893310e4b84 Author: Benjamin Otte Date: Sat Dec 31 14:13:32 2016 +0100 accellabel: Initialize allocation variable I have no idea why gcc didn't catch this. gtk/gtkaccellabel.c | 1 + 1 file changed, 1 insertion(+) commit fb43807fbb5be417cde460cdeaf3a68537ce7cd6 Author: Benjamin Otte Date: Sat Dec 31 13:49:43 2016 +0100 cssfiltervalue: Change node name We're not just using this for icon filters, but for regular filters, so the existing name is confusing. gtk/gtkcssfiltervalue.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1aa0f79e8bc58d2182a2cff4cbc65f543966c908 Author: Benjamin Otte Date: Sat Dec 31 13:24:21 2016 +0100 vulkan: Make the effect renderer take matrix + offset This is in preparation for the new color matrix node. I don't think keeping support for a separate opacity shader is worth it. gsk/gskvulkaneffectpipeline.c | 35 ++++++++++++++++++--- gsk/gskvulkaneffectpipelineprivate.h | 3 +- gsk/gskvulkanrender.c | 6 ++-- gsk/gskvulkanrenderpass.c | 19 ++++++++--- gsk/gskvulkanrenderprivate.h | 6 ++-- ...ag.glsl => color-matrix-clip-rounded.frag.glsl} | 24 ++++++++++---- .../vulkan/color-matrix-clip-rounded.frag.spv | Bin 0 -> 6588 bytes ...rt.glsl => color-matrix-clip-rounded.vert.glsl} | 13 +++++--- .../vulkan/color-matrix-clip-rounded.vert.spv | Bin 0 -> 5292 bytes gsk/resources/vulkan/color-matrix-clip.frag.glsl | 31 ++++++++++++++++++ gsk/resources/vulkan/color-matrix-clip.frag.spv | Bin 0 -> 2160 bytes ...-clip.vert.glsl => color-matrix-clip.vert.glsl} | 9 ++++-- gsk/resources/vulkan/color-matrix-clip.vert.spv | Bin 0 -> 4956 bytes gsk/resources/vulkan/color-matrix.frag.glsl | 31 ++++++++++++++++++ gsk/resources/vulkan/color-matrix.frag.spv | Bin 0 -> 2160 bytes .../{opacity.vert.glsl => color-matrix.vert.glsl} | 9 ++++-- gsk/resources/vulkan/color-matrix.vert.spv | Bin 0 -> 2316 bytes gsk/resources/vulkan/opacity-clip-rounded.frag.spv | Bin 5584 -> 0 bytes gsk/resources/vulkan/opacity-clip-rounded.vert.spv | Bin 5124 -> 0 bytes gsk/resources/vulkan/opacity-clip.frag.glsl | 19 ----------- gsk/resources/vulkan/opacity-clip.frag.spv | Bin 1068 -> 0 bytes gsk/resources/vulkan/opacity-clip.vert.spv | Bin 4788 -> 0 bytes gsk/resources/vulkan/opacity.frag.glsl | 19 ----------- gsk/resources/vulkan/opacity.frag.spv | Bin 1068 -> 0 bytes gsk/resources/vulkan/opacity.vert.spv | Bin 2148 -> 0 bytes 25 files changed, 154 insertions(+), 70 deletions(-) commit 0259312142438c2e8d77f99ccc1cea02f4961b32 Author: Daniel Boles Date: Sat Dec 31 13:27:15 2016 +0000 scrolledwindow: Fix func summary being cut off in bindings using doxygen ...which treats the first '.' in doc comments as the end of the summary. So, e.g., in gtkmm, get_kinetic_scrolling() is currently summarised as "Changes the behaviour of @scrolled_window wrt." Not very informative! No need for a period there & anyway, the phrase "wrt to" is superfluous, and we have space to actually say "with regard to", so just do that now. gtk/gtkscrolledwindow.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 959f80e6e9b120ffc905d0f5be7740cc933d055f Author: Benjamin Otte Date: Sat Dec 31 02:48:25 2016 +0100 css: Implement filter So far, it's only implemented for widgets, not for gadgets. Not sure how to do it for gadgets without conflicts for widget gadgets yet... gtk/gtkcssstylepropertyimpl.c | 8 ++++++++ gtk/gtkwidget.c | 9 ++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) commit 45fbc25e5e86a44dff1c40e2592c8c69e26f23fb Author: Benjamin Otte Date: Sat Dec 31 02:36:00 2016 +0100 css: Remove -gtk-icon-effect -gtk-icon-filter replaces this now. gtk/gtkcssenumvalue.c | 87 ------------------------------------------- gtk/gtkcssenumvalueprivate.h | 6 --- gtk/gtkcssstylepropertyimpl.c | 21 ----------- gtk/gtkcsstypesprivate.h | 8 +--- gtk/gtkiconhelper.c | 12 +----- 5 files changed, 2 insertions(+), 132 deletions(-) commit 5b33127692f50aa56c184d2f203f32294e6d61f4 Author: Benjamin Otte Date: Sat Dec 31 01:29:14 2016 +0100 gtk: Replace -gtk-icon-effect with -gtk-icon-filter Instead of -gtk-icon-effect: dim; -gtk-icon-effect: hilight; we now use -gtk-icon-filter: opacity(0.5); -gtk-icon-filter: brightness(1.2); respectively. gtk/theme/Adwaita/_common.scss | 10 +++++----- gtk/theme/Adwaita/gtk-contained-dark.css | 10 +++++----- gtk/theme/Adwaita/gtk-contained.css | 10 +++++----- gtk/theme/HighContrast/_common.scss | 6 +++--- gtk/theme/HighContrast/gtk-contained-inverse.css | 6 +++--- gtk/theme/HighContrast/gtk-contained.css | 6 +++--- testsuite/reftests/gtk-image-effect-inherit.css | 6 +++--- testsuite/reftests/icon-effect-missing.css | 6 +++--- 8 files changed, 30 insertions(+), 30 deletions(-) commit 2645b5a7d755e6b58f84215072bf1f0b7ded8cf0 Author: Benjamin Otte Date: Sat Dec 31 01:15:52 2016 +0100 gtk: Implement -gtk-icon-filter This uses the new GskColorMatrixNode to implement a filter that applies to icons. It's meant to replace -gtk-icon-effect. gtk/Makefile.am | 2 + gtk/gtkcssfiltervalue.c | 863 +++++++++++++++++++++++++++++++++++++++++ gtk/gtkcssfiltervalueprivate.h | 42 ++ gtk/gtkcssstylepropertyimpl.c | 16 + gtk/gtkcsstypesprivate.h | 1 + gtk/gtkrendericon.c | 23 +- 6 files changed, 941 insertions(+), 6 deletions(-) commit 8973191278c191728b7f71239871c1cd55bfbc80 Author: Benjamin Otte Date: Sat Dec 31 01:14:59 2016 +0100 snapshot: Add gtk_snapshot_push_color_matrix() So far, this is unused. docs/reference/gtk/gtk4-sections.txt | 2 ++ gtk/gtksnapshot.c | 64 ++++++++++++++++++++++++++++++++++++ gtk/gtksnapshot.h | 6 ++++ 3 files changed, 72 insertions(+) commit 7540702cf0196cf4890de87f4225165a5f2f53f2 Author: Benjamin Otte Date: Sat Dec 31 01:13:19 2016 +0100 gsk: Add GskColorMatrixNode This node essentially implements the feColorMatrix SVG filter. I got the idea yesterday after looking at the opacity implementation. It can be used for opacity (not sure if we want to) and to implement a bunch of the CSS filters. docs/reference/gsk/gsk4-sections.txt | 1 + gsk/gskenums.h | 1 + gsk/gskrendernode.h | 5 + gsk/gskrendernodeimpl.c | 246 +++++++++++++++++++++++++++++++++ gsk/gskrendernodeprivate.h | 4 + gtk/inspector/gtktreemodelrendernode.c | 4 + gtk/inspector/recorder.c | 2 + 7 files changed, 263 insertions(+) commit 91741f6b634cc1317beefa062ab7b5547735fc87 Author: Benjamin Otte Date: Fri Dec 30 06:46:34 2016 +0100 vulkan: Handle opacity nodes Well, "handle" them actually. We still draw the node's child using Cairo, but we apply the opacity manually now. gsk/Makefile.am | 4 +- gsk/gskvulkaneffectpipeline.c | 129 +++++++++++++++++++++ gsk/gskvulkaneffectpipelineprivate.h | 32 +++++ gsk/gskvulkanrender.c | 6 +- gsk/gskvulkanrenderpass.c | 120 +++++++++++++++++++ gsk/gskvulkanrenderprivate.h | 3 + .../vulkan/opacity-clip-rounded.frag.glsl | 64 ++++++++++ gsk/resources/vulkan/opacity-clip-rounded.frag.spv | Bin 0 -> 5584 bytes .../vulkan/opacity-clip-rounded.vert.glsl | 56 +++++++++ gsk/resources/vulkan/opacity-clip-rounded.vert.spv | Bin 0 -> 5124 bytes gsk/resources/vulkan/opacity-clip.frag.glsl | 19 +++ gsk/resources/vulkan/opacity-clip.frag.spv | Bin 0 -> 1068 bytes gsk/resources/vulkan/opacity-clip.vert.glsl | 49 ++++++++ gsk/resources/vulkan/opacity-clip.vert.spv | Bin 0 -> 4788 bytes gsk/resources/vulkan/opacity.frag.glsl | 19 +++ gsk/resources/vulkan/opacity.frag.spv | Bin 0 -> 1068 bytes gsk/resources/vulkan/opacity.vert.glsl | 34 ++++++ gsk/resources/vulkan/opacity.vert.spv | Bin 0 -> 2148 bytes 18 files changed, 533 insertions(+), 2 deletions(-) commit d82e8bf3d6d4ae87ac43ca0cb062fece8ae2b4da Author: Benjamin Otte Date: Tue Dec 27 22:47:34 2016 +0100 debugupdates: Draw without cairo node gtk/gtkdebugupdates.c | 39 +++++++++------------------------------ 1 file changed, 9 insertions(+), 30 deletions(-) commit 051a7eceb10eef85558e534655437888558a3398 Author: Chris Mayo Date: Tue Dec 27 16:14:09 2016 +0000 GtkAboutDialog: Fix formatting of example email address in html Signed-off-by: Chris Mayo https://bugzilla.gnome.org/show_bug.cgi?id=776524 gtk/gtkaboutdialog.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e62696b1453763e39346f2b57588ee62b7d80184 Author: Matthias Clasen Date: Fri Dec 30 10:20:16 2016 -0500 about dialog: Simplify the template a bit Remove some unnecessary complications, like an extraneous box, and some child property settings that are not needed. gtk/ui/gtkaboutdialog.ui | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) commit 9d8b07d1504f1400748860c4bcc41c0866ec53b7 Author: Chun-wei Fan Date: Fri Dec 30 15:10:12 2016 +0800 Visual Studio builds: Fix .pc generation A space was missed... build/win32/gtkpc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit cf8c72b431493203fafa0ba88ec65e7971fa12cb Author: Chun-wei Fan Date: Fri Dec 30 14:52:00 2016 +0800 Visual Studio builds: Mention about Vulkan builds Let people know what is needed for Vulkan builds. build/win32/vs12/README.txt | 8 ++++++++ 1 file changed, 8 insertions(+) commit 2fdd0cefa57b8540ea6d75f6d7fa2a40f6927289 Author: Chun-wei Fan Date: Fri Dec 30 14:42:38 2016 +0800 Visual Studio builds: Support Vulkan builds This will assume that the Vulkan SDK can be found in the INCLUDE/LIB paths that are used by the Visual Studio compiler. build/win32/gtkpc.py | 14 +- build/win32/vs12/gdk-4.vcxprojin | 112 +--------- build/win32/vs12/gsk-4.vcxprojin | 124 ++++++++++- build/win32/vs12/gtk+-4.sln | 232 ++++++++++----------- build/win32/vs12/gtk-4.vcxprojin | 88 ++++---- build/win32/vs12/gtk4-build-defines.props | 6 +- build/win32/vs12/gtk4-gen-srcs.props | 26 +-- build/win32/vs12/gtk4-install.propsin | 14 +- build/win32/vs12/gtk4-install.vcxproj | 114 +++++----- build/win32/vs12/gtk4-prebuild.vcxproj | 98 ++++----- build/win32/vs12/gtk4-prebuild.vcxproj.filters | 2 +- gdk/Makefile.am | 2 +- ...g.h.win32_broadway => gdkconfig.h.win32_vulkan} | 2 +- 13 files changed, 421 insertions(+), 413 deletions(-) commit c2fd445764a9e46542a6879fd47e9fd74eb13d16 Author: Chun-wei Fan Date: Fri Dec 30 12:46:55 2016 +0800 Visual Studio builds: Clean up project files There are items in there that can be combined, as there are mostly no differences between x64 and Win32 configs for source/data file generation. build/win32/vs12/gdk-4.vcxprojin | 10 -- build/win32/vs12/gsk-4.vcxprojin | 42 ++----- build/win32/vs12/gtk-4.vcxprojin | 120 +++++++------------- build/win32/vs12/gtk4-builder-tool.vcxproj | 6 +- build/win32/vs12/gtk4-demo-application.vcxprojin | 6 +- build/win32/vs12/gtk4-demo.vcxprojin | 6 +- build/win32/vs12/gtk4-encode-symbolic-svg.vcxproj | 6 +- build/win32/vs12/gtk4-icon-browser.vcxprojin | 6 +- build/win32/vs12/gtk4-install.vcxproj | 76 ++++--------- build/win32/vs12/gtk4-prebuild.vcxproj | 132 ++++++++-------------- build/win32/vs12/gtk4-query-settings.vcxproj | 6 +- build/win32/vs12/gtk4-update-icon-cache.vcxproj | 6 +- 12 files changed, 134 insertions(+), 288 deletions(-) commit 22c719b7eb6b97dc5babd35ab9438d4bf75d9888 Author: Chun-wei Fan Date: Fri Dec 30 11:17:06 2016 +0800 Visual Studio builds: Remove the Broadway projects They are not used anymore, so we ought to remove them build/win32/vs12/gdk4-broadway.vcxproj.filtersin | 20 --- build/win32/vs12/gdk4-broadway.vcxprojin | 131 ---------------- build/win32/vs12/gtk4-broadwayd.vcxproj.filtersin | 20 --- build/win32/vs12/gtk4-broadwayd.vcxprojin | 177 ---------------------- build/win32/vs12/gtk4-copy-gtk-broadway.props | 36 ----- build/win32/vs12/gtk4-ignore-broadway.props | 18 --- 6 files changed, 402 deletions(-) commit ee2f5779914711160d9df653009e79eb01fc7d1a Author: Chun-wei Fan Date: Fri Dec 30 11:09:46 2016 +0800 Visual Studio builds: Drop the Broadway projects Since the status of the GDK broadway backend is more or less unsupported, drop the projects that build gtk4-broadwayd and gdk-broadway, and update the projects to not to refer to them. However, keep the Broadway configs for now as we will later transform them to become configs for Vulkan, so bascially besides "installation" parts and output settings, they will do the same as their Release|Debug counterparts with no support for Broadway. build/win32/vs12/Makefile.am | 11 --- build/win32/vs12/gdk-4.vcxprojin | 8 +- build/win32/vs12/gtk+-4.sln | 28 ------- build/win32/vs12/gtk-4.vcxprojin | 52 +++++++------ build/win32/vs12/gtk4-build-defines.props | 4 + build/win32/vs12/gtk4-install.propsin | 123 ++++++++++++++---------------- build/win32/vs14/Makefile.am | 6 -- gdk/broadway/Makefile.am | 21 ----- gdk/gdkconfig.h.win32_broadway | 2 +- 9 files changed, 93 insertions(+), 162 deletions(-) commit 391ea68671d594ed4a1ee5f1f885e17d9eadc6dd Author: Chun-wei Fan Date: Fri Dec 30 01:08:07 2016 +0800 Visual Studio builds: Include Vulkan sources in GSK ...but disable them for now. Configs will be added for the projects to support Vulkan-enabled builds which will then enable the builds of these sources. Extra commands and items will be needed for the GSK resources along with ensuring GSK_RENDERER_GSK being defined for the build of GDK, GDK-Win32 and GSK so that the builds of Vulkan-enabled builds can be done properly. Filter out the Vulkan sources from the 'dist hook' rules in gsk/Makefile.am as we don't want to in turn include them twice in the projects when the 'make dist' is performed on a system with Vulkan builds enabled. build/win32/vs12/gsk-4.vcxproj.filtersin | 14 ++++++++ build/win32/vs12/gsk-4.vcxprojin | 56 ++++++++++++++++++++++++++++++++ gsk/Makefile.am | 2 +- 3 files changed, 71 insertions(+), 1 deletion(-) commit 3cb6868e193db6461f56c1a1836de4d5d5cf925c Author: Stas Solovey Date: Thu Dec 29 16:23:12 2016 +0000 Update Russian translation (cherry picked from commit c7dce1018b73621ca50a086430809a43f50909b4) po-properties/ru.po | 2295 +++++++++++++++++++++++++++------------------------ 1 file changed, 1218 insertions(+), 1077 deletions(-) commit 7e6820415d407eb4cd806595e97bec1664042322 Author: Matthias Clasen Date: Thu Dec 29 11:07:05 2016 -0500 Avoid a possible crash in ::activate-url handlers If the signal handler ends up changing the label text, the link is no longer around to update the css node. Check for this possibility to avoid a crash here. gtk/gtklabel.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 715801f3026f3d681ec8d433b9164eb37531968a Author: Mario Blättermann Date: Thu Dec 29 10:40:32 2016 +0000 Update German translation po-properties/de.po | 14238 ++++++++++++++++++++++++-------------------------- 1 file changed, 6877 insertions(+), 7361 deletions(-) commit 49a782413c63982a8c2cb1c99746e2d56d312994 Author: Chun-wei Fan Date: Wed Dec 28 22:37:01 2016 +0800 gsk: Fix build on Visual Studio One cannot use #if...#endif within macro calls in Visual Studio and possibly other compilers, and there are more uses of VLAs that need to be replaced with g_newa(). There were also checks for the clip type in gskvulkanrenderpass.c which were possibly not done right (using the address of the type value to check for a type value), which triggered errors as one is attempting to compare a pointer type to an enum/int type. https://bugzilla.gnome.org/show_bug.cgi?id=773299 gsk/gskvulkancommandpool.c | 8 ++++---- gsk/gskvulkanrender.c | 2 +- gsk/gskvulkanrenderpass.c | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) commit 9db5cc9a98728fd5e8425dead1f4e6290392423a Author: Chun-wei Fan Date: Wed Dec 28 22:34:04 2016 +0800 gdk/gdkvulkancontext.c: Avoid VLAs During the drive to enable Vulkan context creation on Windows, some more VLAs were found here. Replace them with g_newa(). https://bugzilla.gnome.org/show_bug.cgi?id=773299 gdk/gdkvulkancontext.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit c4244ea10408d5a4b6e8c0b4894d71863362559a Author: Chun-wei Fan Date: Wed Dec 28 22:25:07 2016 +0800 GDK/Win32: Support Vulkan context creation This adds support to the GDK Win32 backend so that we can support Vulkan context creation for use in the GSK Vulkan renderer, so that we can test it on Windows platforms as well. https://bugzilla.gnome.org/show_bug.cgi?id=776544 gdk/win32/Makefile.am | 2 + gdk/win32/gdkdisplay-win32.c | 7 ++++ gdk/win32/gdkvulkancontext-win32.c | 79 ++++++++++++++++++++++++++++++++++++++ gdk/win32/gdkvulkancontext-win32.h | 62 ++++++++++++++++++++++++++++++ 4 files changed, 150 insertions(+) commit 1e084567f919fa902e70e944b0bebb02443d1d36 Author: Chun-wei Fan Date: Mon Dec 26 12:40:36 2016 +0800 gsk/gskrendernodeimpl.c: Avoid VLAs Use g_newa() instead of VLAs, as VLAs may never be supported by some compilers as it became optional in C11 and there are concerns about their implementations in compilers that do support it. https://bugzilla.gnome.org/show_bug.cgi?id=773299 gsk/gskrendernodeimpl.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit e7f4863814735f20235782d550976e0173904796 Author: Gábor Kelemen Date: Tue Dec 27 23:08:22 2016 +0000 Update Hungarian translation po-properties/hu.po | 737 ++++++++++++++++++++++++++++------------------------ 1 file changed, 402 insertions(+), 335 deletions(-) commit a3ef8d350ef94dbaf2912cbf6be4a2c416167c73 Author: Gábor Kelemen Date: Tue Dec 27 22:57:31 2016 +0000 Update Hungarian translation po/hu.po | 273 ++++++++++++++++++++++++++++++++++++++------------------------- 1 file changed, 165 insertions(+), 108 deletions(-) commit 68b39a47278bd9c2fde28c0787a3fd45769b8687 Author: Benjamin Otte Date: Tue Dec 27 00:33:34 2016 +0100 gsk: Add GSK_RENDERING_MODE=full-redraw Forces a full redraw every frame. This is done generically, so it's supported on every renderer. For widget-factory first page (with the spinner spinning and progressbar pulsing), I get these numbers per frame: action clipped full redraw snapshot 0ms 7-10ms cairo rendering 0ms 10-15ms Vulkan rendering 3-5ms 18-20ms Vulkan expected * 0ms 1-2ms GL rendering unsupported 55-62ms * expected means disabling rendering of unsupported render nodes, instead of doing fallback drawing. So it overestimates the performance, because borders and box-shadows are disabled. gsk/gskdebug.c | 1 + gsk/gskdebugprivate.h | 5 +++-- gsk/gskrenderer.c | 19 ++++++++++++++++++- 3 files changed, 22 insertions(+), 3 deletions(-) commit a5f8a74ec1d7390c81f4cbae9b84ca942b879233 Author: Benjamin Otte Date: Tue Dec 27 00:18:52 2016 +0100 vulkan: Only render minimal region It's faster to render once for every rectangle in the clip region than rendering the outline of the clip region. Especially because this reduces the time necessary to build up the frame data. In widget-factory (where we have 3 rectangles), this leads to a 5x speedup in the rendering time rendering alone. Snapshotting time goes from 10ms to ~1ms, which is another huge improvement. gsk/gskvulkanrender.c | 88 ++++++++++++++++++++++++++----------------------- gsk/gskvulkanrenderer.c | 16 ++------- 2 files changed, 49 insertions(+), 55 deletions(-) commit 293248c1d3c974d472b1a79da7aa2c937a86dca7 Author: Benjamin Otte Date: Mon Dec 26 22:24:22 2016 +0100 gdkvulkan: Track changes per swapchain image ... and use those in begin_frame() to ensure all of the invalid area gets invalidated. gdk/gdkvulkancontext.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) commit af917c4ade51dff5ffb934c5d6d8f366c4977dd4 Author: Benjamin Otte Date: Mon Dec 26 17:11:13 2016 +0100 vulkan: Handle linear gradients Note: We interpolate premultiplied colors as per the CSS spec. This i different from Cairo, which interpolates unpremultiplied. So in testcases with translucent gradients, it's actually Cairo that is wrong. gsk/Makefile.am | 2 + gsk/gskrendernodeimpl.c | 32 +++ gsk/gskrendernodeprivate.h | 5 + gsk/gskvulkanlineargradientpipeline.c | 224 +++++++++++++++++++++ gsk/gskvulkanlineargradientpipelineprivate.h | 41 ++++ gsk/gskvulkanrender.c | 6 +- gsk/gskvulkanrenderpass.c | 64 ++++++ gsk/gskvulkanrenderprivate.h | 3 + gsk/resources/vulkan/linear-clip-rounded.frag.glsl | 78 +++++++ gsk/resources/vulkan/linear-clip-rounded.frag.spv | Bin 0 -> 6748 bytes gsk/resources/vulkan/linear-clip-rounded.vert.glsl | 84 ++++++++ gsk/resources/vulkan/linear-clip-rounded.vert.spv | Bin 0 -> 6208 bytes gsk/resources/vulkan/linear-clip.frag.glsl | 33 +++ gsk/resources/vulkan/linear-clip.frag.spv | Bin 0 -> 2320 bytes gsk/resources/vulkan/linear-clip.vert.glsl | 78 +++++++ gsk/resources/vulkan/linear-clip.vert.spv | Bin 0 -> 5856 bytes gsk/resources/vulkan/linear.frag.glsl | 33 +++ gsk/resources/vulkan/linear.frag.spv | Bin 0 -> 2320 bytes gsk/resources/vulkan/linear.vert.glsl | 89 ++++++++ gsk/resources/vulkan/linear.vert.spv | Bin 0 -> 7648 bytes 20 files changed, 771 insertions(+), 1 deletion(-) commit c0c44c7b9cfb33ead68a31ac13319f82e22128b3 Author: Benjamin Otte Date: Mon Dec 26 17:09:18 2016 +0100 tests: Add linear gradient test tests/rendernode-create-tests.c | 82 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) commit 573ceb03407b3a4b067aff07fad6bdf196ca8624 Author: Benjamin Otte Date: Mon Dec 26 17:08:06 2016 +0100 tests: Add a patternspec argument for test creation That way, I don't need to recreate all the tests I don't care about. This is particularly useful when I want to change the size of the testcase. tests/rendernode-create-tests.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) commit d7e867aa95583a107e5b8174caab6b9121acc16a Author: Benjamin Otte Date: Mon Dec 26 17:07:24 2016 +0100 tests: Make rendernode --dump-variant actually work tests/rendernode.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 3c8518dce38f92d86cbfe523df94fdf666e07017 Author: Benjamin Otte Date: Mon Dec 26 17:06:10 2016 +0100 gsk: Add missing Mozilla copyright header I stole one of their shader functions, and if I steal, I might as well do it right. gsk/resources/vulkan/color-clip-rounded.frag.glsl | 5 +++++ 1 file changed, 5 insertions(+) commit 599cc995f3532ba85a96d2409ef5589508785faf Author: Benjamin Otte Date: Mon Dec 26 17:04:56 2016 +0100 css: Handle repeating gradients with only one offset Example: repeating-linear-gradient(red 50%, blue 50%) Those gradients in Firefox draw a solid image of the last color, so do the same here. gtk/gtkcssimagelinear.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) commit 5017c3be65a8f07178f48042170d93000131980b Author: Benjamin Otte Date: Mon Dec 26 17:04:01 2016 +0100 gsk: Insist on ordered color stops I don't want to sort them later for the shader preparation, so make sure they come in ordered. gsk/gskrendernodeimpl.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) commit 3a79b173090c8777498e4cd4e1e7049571ed5375 Author: Benjamin Otte Date: Mon Dec 26 14:49:34 2016 +0100 vulkan: Fix coordinate setup This makes rendering textures work when the top left of the rendered texture is not at (0, 0). gsk/gskvulkanrender.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit c7083a5d37d09357581c670ef841eaf556a60b24 Author: Benjamin Otte Date: Sun Dec 25 19:51:30 2016 +0100 tests: Make sure number of runs is 1. tests/rendernode.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 2a7171534e8cf18fa4716da4a4ba1d6aa4533406 Author: Daniel Boles Date: Mon Dec 26 10:57:51 2016 +0000 Box: Restore an accidentally deleted comment Also, split a MAX() onto its own line to match the others. gtk/gtkbox.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 71bbd8881ffcb02aa8f0a3b401962152b30e3ee8 Author: Daniel Boles Date: Sun Dec 25 23:16:14 2016 +0000 Box: avoid recalc/reassignments, improve var names Homogeneous branches repeated the calculation/assignment of the initial space available to children. This avoids that by shuffling some code. Perhaps more importantly, in doing that, I ended up with some ambiguous names, and Company and I realised how vague the pre-existing naming was. "size" becomes "extra_space", as this is what it represents. Conversely, "extra" becomes "size_given_to_child" (albeit still given out in two different ways depending on whether the Box is homogeneous). My hope is that these sections of code are now somewhat less baffling than before! gtk/gtkbox.c | 112 +++++++++++++++++++++++++++++++---------------------------- 1 file changed, 58 insertions(+), 54 deletions(-) commit 5d101740313107fbd946f1034b6671bcbecb4517 Author: Daniel Boles Date: Sun Dec 25 17:43:06 2016 +0000 Box: Don't unnecessarily repeat a function call The spacing was already saved in a variable just above. gtk/gtkbox.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 476cadc7f8af349e6f65dc2cab82249ad5aad487 Author: djb Date: Sun Dec 25 21:46:28 2016 +0000 tests: Remove executable bit from C files tests/testerrors.c | 0 tests/testscale.c | 0 2 files changed, 0 insertions(+), 0 deletions(-) commit 78582dd5e9cb5cdc0a75a58e1a5c85f4416c8226 Author: Benjamin Otte Date: Sun Dec 25 06:19:34 2016 +0100 tests: Fix logic to detect argument length tests/rendernode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit eacf7257784ac92d71803b9296e1d510a27a9801 Author: Benjamin Otte Date: Sun Dec 25 06:18:42 2016 +0100 tests: Add a --runs argument to rendernode This way we can rerun fast tests lots of times - not so much for averaging times, but more for sysprof'ing. tests/rendernode.c | 39 +++++++++++++++++++++++++++++---------- 1 file changed, 29 insertions(+), 10 deletions(-) commit c99b46c46d393d6c764f2dbefaeec89b8c6fd16c Author: Benjamin Otte Date: Sun Dec 25 06:03:31 2016 +0100 tests: Add another test In this test, Cairo is almost as fast as Vulkan. I wonder why. tests/rendernode-create-tests.c | 52 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) commit 5878f9d8af9536e03103b73f4c32b7afc43850a1 Author: Benjamin Otte Date: Sun Dec 25 06:01:54 2016 +0100 vulkan: Add shader for color drawing with rectangle clip gsk/gskvulkanrender.c | 1 + gsk/gskvulkanrenderpass.c | 6 ++++- gsk/gskvulkanrenderprivate.h | 1 + gsk/resources/vulkan/color-clip.frag.glsl | 10 +++++++ gsk/resources/vulkan/color-clip.frag.spv | Bin 0 -> 720 bytes gsk/resources/vulkan/color-clip.vert.glsl | 42 ++++++++++++++++++++++++++++++ gsk/resources/vulkan/color-clip.vert.spv | Bin 0 -> 3588 bytes gsk/resources/vulkan/color.frag.spv | Bin 444 -> 720 bytes 8 files changed, 59 insertions(+), 1 deletion(-) commit b30225e67c4a451b3480fd21a2b586473e82690c Author: Benjamin Otte Date: Sun Dec 25 05:57:16 2016 +0100 vulkan: We use VK_FORMAT_B8G8R8A8_UNORM ... not SRGB. SRGB messes up alpha compositing, GdkRGBA and everything else. gdk/gdkvulkancontext.c | 2 +- gsk/gskvulkancolorpipeline.c | 6 +++--- gsk/gskvulkanimage.c | 12 ++++++------ gsk/resources/vulkan/color.frag.glsl | 2 +- 4 files changed, 11 insertions(+), 11 deletions(-) commit 16a9a82021a51b66974624c8e265e22f32410d93 Author: Marek Černocký Date: Sat Dec 24 14:40:35 2016 +0100 Updated Czech translation po/cs.po | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) commit aa0ec774bf7d4b63641b1cdc887103cb7da65f55 Author: Benjamin Otte Date: Sat Dec 24 06:16:54 2016 +0100 vulkan: Add proof-of-concept clip implementation We can now clip to cicular rounded rectangles when drawing colors. gsk/gskvulkanrender.c | 3 +- gsk/gskvulkanrenderpass.c | 9 +++- gsk/gskvulkanrenderprivate.h | 1 + gsk/resources/vulkan/color-clip-rounded.frag.glsl | 51 ++++++++++++++++++++++ gsk/resources/vulkan/color-clip-rounded.frag.spv | Bin 0 -> 5228 bytes gsk/resources/vulkan/color-clip-rounded.vert.glsl | 36 +++++++++++++++ gsk/resources/vulkan/color-clip-rounded.vert.spv | Bin 0 -> 2176 bytes 7 files changed, 97 insertions(+), 3 deletions(-) commit 81c487b8415fed4990b069b03245b2aa11f12ab7 Author: Benjamin Otte Date: Sat Dec 24 04:58:51 2016 +0100 vulkan: Fold clip into push constants As a side effect, the clipping data is now available inside shaders. Not that any shader would use them yet, but they could! gsk/gskroundedrect.c | 30 ++++++++++++++ gsk/gskroundedrectprivate.h | 2 + gsk/gskvulkanclip.c | 28 +++++++++++++ gsk/gskvulkanclipprivate.h | 4 ++ gsk/gskvulkanpushconstants.c | 44 +++++++++++++++++--- gsk/gskvulkanpushconstantsprivate.h | 18 +++++++-- gsk/gskvulkanrenderpass.c | 76 +++++++++++++++++++---------------- gsk/resources/vulkan/blit.vert.glsl | 3 ++ gsk/resources/vulkan/blit.vert.spv | Bin 1104 -> 1252 bytes gsk/resources/vulkan/color.vert.glsl | 3 ++ gsk/resources/vulkan/color.vert.spv | Bin 1632 -> 1780 bytes 11 files changed, 164 insertions(+), 44 deletions(-) commit 18b65a23789008a68c53e0430aa2dffadcc259f4 Author: Benjamin Otte Date: Sat Dec 24 04:10:00 2016 +0100 vulkan: Change handling of push constants Instead of storing the wire format, store the true structs and only convert to the wire format when needed. gsk/gskvulkanpushconstants.c | 42 +++++++++++++++++++------------------ gsk/gskvulkanpushconstantsprivate.h | 14 ++++++++----- gsk/gskvulkanrenderpass.c | 3 +-- 3 files changed, 32 insertions(+), 27 deletions(-) commit b11b7dfb1a359da8863918ec2545a64bbbb3b22d Author: Benjamin Otte Date: Sat Dec 24 00:52:07 2016 +0100 gsk: Add debug category for fallbacks ... and use it for the cases in Vulkan where we fall back to Cairo. gsk/gskdebug.c | 3 ++- gsk/gskdebugprivate.h | 3 ++- gsk/gskvulkanrenderpass.c | 21 ++++++++++++++------- 3 files changed, 18 insertions(+), 9 deletions(-) commit 2bca24c4552b8af6ff940c019b35e3c561bfa9fb Author: Benjamin Otte Date: Fri Dec 23 21:36:17 2016 +0100 gsk: Add GskVulkanClip This is now tracking the clips added by the clip nodes. If any particular node can't deal with a clip, it falls back to Cairo rendering. But if it can, it will render it directly. gsk/Makefile.am | 2 + gsk/gskroundedrect.c | 15 ++++ gsk/gskroundedrectprivate.h | 2 + gsk/gskvulkanclip.c | 151 +++++++++++++++++++++++++++++++++++++++ gsk/gskvulkanclipprivate.h | 53 ++++++++++++++ gsk/gskvulkanrender.c | 9 ++- gsk/gskvulkanrenderpass.c | 143 ++++++++++++++++++++++++++++++------ gsk/gskvulkanrenderpassprivate.h | 1 + 8 files changed, 353 insertions(+), 23 deletions(-) commit 1d845557297ddd114bb6e2c8d2332895967c9d42 Author: Benjamin Otte Date: Fri Dec 23 23:16:30 2016 +0100 iconhelper: Invalidate style before accessing texture Invalidating the style might cause invalidation of the texture. So we end up with a pointer to freed memory. SAD! gtk/gtkiconhelper.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 89d38ae93f4f45776e55446524fb59cfa27442bc Author: Benjamin Otte Date: Fri Dec 23 22:19:56 2016 +0100 vulkan: Try combining draw calls This gives a 5-7% speedup in the case where we're just drawing N colors and nothing else. So it;s not tremendously useful, but noticeable. gsk/gskvulkanrenderpass.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) commit 23d10df6c61e11b773a5f3dce6e2ea8abc679760 Author: Garrett Regier Date: Fri Dec 23 04:08:43 2016 -0800 gsk: Fix memory leak in gsk_render_node_write_to_file() gsk/gskrendernode.c | 1 + 1 file changed, 1 insertion(+) commit 2750bb5e87c7ee060ed8bd5e40af537689e3f5cb Author: Piotr Drąg Date: Fri Dec 23 16:18:23 2016 +0100 Update POTFILES.in po-properties/POTFILES.in | 1 + po/POTFILES.in | 1 + 2 files changed, 2 insertions(+) commit 6cc08d60efeb02afc0d67982c3dc205dfd16d7cd Author: Benjamin Otte Date: Fri Dec 23 12:07:22 2016 +0100 calendar: Implement snapshot() gtk/gtkcalendar.c | 225 ++++++++++++++++++++++++++---------------------------- 1 file changed, 109 insertions(+), 116 deletions(-) commit b97e4e863159674efab74302bc3e69bdff19be02 Author: Benjamin Otte Date: Fri Dec 23 11:30:09 2016 +0100 tests: Improve rendernode test further - Print benchmark output in fallback path - Always run rendering, even when no filename given - Don't require a filename when running with --benchmark tests/rendernode.c | 94 +++++++++++++++++++++++++++++------------------------- 1 file changed, 51 insertions(+), 43 deletions(-) commit a36e5ceea74fecb7b8f5f196e592a4b633ed6eb3 Author: Benjamin Otte Date: Fri Dec 23 11:11:52 2016 +0100 cellrenderer: Remove render() vfunc Make the last 2 cell renderers create the cairo node themselves. gtk/gtkcellrenderer.c | 33 +-------------------------------- gtk/gtkcellrenderer.h | 8 +------- gtk/gtkcellrendererspinner.c | 37 ++++++++++++++++++------------------- gtk/inspector/cellrenderergraph.c | 24 +++++++++++++++++------- 4 files changed, 37 insertions(+), 65 deletions(-) commit 513a8c46af537969747f729d87fbad53ba6e6b37 Author: Benjamin Otte Date: Fri Dec 23 10:50:04 2016 +0100 cellrendererpixbuf: Implement snapshot() gtk/gtkcellrendererpixbuf.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) commit a0f65d16bcc7e4883669f557dc271c1797f2519c Author: Benjamin Otte Date: Fri Dec 23 10:44:49 2016 +0100 cellrendererprogress: Implement snapshot() gtk/gtkcellrendererprogress.c | 79 ++++++++++++++++++++++++------------------- 1 file changed, 44 insertions(+), 35 deletions(-) commit b901572d861945466dd6df66618b480ccb4c20c5 Author: Benjamin Otte Date: Fri Dec 23 09:31:54 2016 +0100 cellrenderertoggle: Implement snapshot() gtk/gtkcellrenderertoggle.c | 78 ++++++++++++++++++++++++++------------------- 1 file changed, 46 insertions(+), 32 deletions(-) commit c412a717f11074da8ef4a705dbffa566589f69dc Author: Benjamin Otte Date: Fri Dec 23 09:23:07 2016 +0100 cellrenderertext: Implement snapshot() gtk/gtkcellrenderertext.c | 48 ++++++++++++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 21 deletions(-) commit 677c5bdedf7870e08b246439ba4dddbad5c87028 Author: Benjamin Otte Date: Fri Dec 23 09:09:42 2016 +0100 cellrenderer: Move snapshotting down into cell renderers Now that every call to GtkCellArea is a snapshot call and no more cairo calls are left, move the actual differentiation between Cairo and Snapshot down to the cell renderer. docs/reference/gtk/gtk4-sections.txt | 4 +- gtk/gtkcellarea.c | 115 ++++++++++------------------------- gtk/gtkcellarea.h | 15 +---- gtk/gtkcellrenderer.c | 91 +++++++++++++++++++-------- gtk/gtkcellrenderer.h | 12 +++- 5 files changed, 110 insertions(+), 127 deletions(-) commit af6e7cc169254bdaf81fb480aa19484cbf702126 Author: Benjamin Otte Date: Fri Dec 23 08:08:17 2016 +0100 tests: Add rendernode-create-tests Little tool that creates a bunch of test files to throw add the rendernode binary. They should really be part of a testsuite, but we have none, so OI just put them here. tests/Makefile.am | 2 + tests/rendernode-create-tests.c | 211 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 213 insertions(+) commit 4bb0c70c11c4b2af65bc66ca8a8d1c8cecbb7e92 Author: Benjamin Otte Date: Fri Dec 23 08:03:36 2016 +0100 gsk: Add docs and error handling to serialization API docs/reference/gsk/gsk4-sections.txt | 5 ++ gsk/gskenums.h | 17 +++++ gsk/gskrendernode.c | 46 ++++++++++-- gsk/gskrendernode.h | 10 ++- gsk/gskrendernodeimpl.c | 136 ++++++++++++++++++++++------------- gsk/gskrendernodeprivate.h | 5 +- tests/rendernode.c | 5 +- 7 files changed, 165 insertions(+), 59 deletions(-) commit 4e866ec06bbaee5d4ba82a8a72bb0f1784c955c0 Author: Benjamin Otte Date: Fri Dec 23 07:07:59 2016 +0100 tests: Add some command-line flags to rendernode tests/rendernode.c | 114 +++++++++++++++++++++++++++++++++-------------------- 1 file changed, 71 insertions(+), 43 deletions(-) commit 5e089c43453e34432f6c9e47b2d064129f391a56 Author: Benjamin Otte Date: Fri Dec 23 05:58:07 2016 +0100 gsk: Add gsk_render_node_write_to_file() For when you're in a debugger and need to have a closer look at this node... docs/reference/gsk/gsk4-sections.txt | 3 +++ gsk/gskrendernode.c | 36 ++++++++++++++++++++++++++++++++++++ gsk/gskrendernode.h | 4 ++++ 3 files changed, 43 insertions(+) commit 087ea8e531e14d6ac3bb3a8763352ca5641b676a Author: Benjamin Otte Date: Fri Dec 23 05:56:17 2016 +0100 gsk: Warn on cairo errors during gsk_render_node_draw() It's the same warning we use inside GTK for when stuff weirdly goes wrong. gsk/gskrendernode.c | 9 +++++++++ 1 file changed, 9 insertions(+) commit 08f9a6078bf9a4a748ef8ad6a039e97f33937b9a Author: Benjamin Otte Date: Fri Dec 23 02:05:54 2016 +0100 gsk: Include config.h The more you know: Not including config.h causes the public API implemented in this file to not be exported in the resulting library. gsk/gskrendernodeimpl.c | 2 ++ 1 file changed, 2 insertions(+) commit adcde3034ec33f9b23dd5715357ef74d60264515 Author: Benjamin Otte Date: Thu Dec 22 20:01:52 2016 +0100 gsk: Implement gsk_renderer_render_texture() on GL gsk/gskglrenderer.c | 118 ++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 92 insertions(+), 26 deletions(-) commit 786d3a013e0ec7f19999f05f32df1110585d6443 Author: Benjamin Otte Date: Thu Dec 22 19:01:07 2016 +0100 vulkan: Implement gsk_renderer_render_texture() gsk/gskvulkanbuffer.c | 6 ++++ gsk/gskvulkanbufferprivate.h | 2 ++ gsk/gskvulkancommandpool.c | 4 +++ gsk/gskvulkanimage.c | 85 ++++++++++++++++++++++++++++++++++++++++++++ gsk/gskvulkanimageprivate.h | 7 ++++ gsk/gskvulkanrender.c | 68 +++++++++++++++++++++++------------ gsk/gskvulkanrenderer.c | 51 +++++++++++++++++++++++++- gsk/gskvulkanrenderprivate.h | 5 ++- 8 files changed, 204 insertions(+), 24 deletions(-) commit b0d5224de578dad2b0ca225cd2c8b3f640b2a14c Author: Benjamin Otte Date: Thu Dec 22 18:58:55 2016 +0100 tests: Use gsk_renderer_render_texture() Only keep the version that calls gsk_render_node_draw() if people specify the --fallback option. The actual renderer selection works just as for regular GTK. The easiest way to influence it is setting the GSK_RENDERER environment variable. tests/rendernode.c | 45 +++++++++++++++++++++++++++++++++++++-------- 1 file changed, 37 insertions(+), 8 deletions(-) commit 6c5679314742f33076c46398583baff5ed4a1902 Author: Benjamin Otte Date: Wed Dec 21 22:11:52 2016 +0100 gsk: Add gsk_texture_download() API Now users can download pixels and make everything slooooooow. docs/reference/gsk/gsk4-sections.txt | 1 + gsk/gskrenderer.c | 1 - gsk/gsktexture.c | 99 +++++++++++++++++++++++++++++++++++- gsk/gsktexture.h | 5 ++ gsk/gsktextureprivate.h | 3 ++ 5 files changed, 106 insertions(+), 3 deletions(-) commit d58799ff7aa11266efcfd9bc4c3a780c2a5d6879 Author: Benjamin Otte Date: Wed Dec 21 22:11:25 2016 +0100 gdk: Export gdk_cairo_surface_paint_pixbuf() into private header gdk/gdkcairo.c | 4 +++- gdk/gdkinternals.h | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) commit be8c999fe8fa214bf511e719b4eadc443b87427c Author: Benjamin Otte Date: Wed Dec 21 20:31:24 2016 +0100 docs: Add GskTexture docs/reference/gsk/gsk4-sections.txt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) commit 2d2209859e0759dfe9ca0fbf284cf2e99381bb97 Author: Benjamin Otte Date: Wed Dec 21 20:28:21 2016 +0100 gsk: Rename to gsk_texture_download_surface() I want to reuse the name gsk_texture_download() for downloading the actual bytes. gsk/gskgldriver.c | 2 +- gsk/gskrendernodeimpl.c | 4 ++-- gsk/gsktexture.c | 12 ++++++------ gsk/gsktextureprivate.h | 4 ++-- gsk/gskvulkanrenderer.c | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) commit 373e08d6d4ea35dbc937a012ef864fd36bb6e42d Author: Benjamin Otte Date: Wed Dec 21 20:23:46 2016 +0100 gsk: Add gsk_renderer_render_texture() ... and implement it for the Cairo renderer. It's an API that instructs a renderer to render to a texture. So far this is mostly meant to be used for testing, but I could imagine it being useful for rendering DND icons. docs/reference/gsk/gsk4-sections.txt | 1 + gsk/gskcairorenderer.c | 70 +++++++++++++++++++++++-------- gsk/gskrenderer.c | 80 ++++++++++++++++++++++++++++++++++++ gsk/gskrenderer.h | 5 +++ gsk/gskrendererprivate.h | 3 ++ 5 files changed, 141 insertions(+), 18 deletions(-) commit 98086014d85ea60862c3cb0598e7b6c8cf7fb072 Author: Benjamin Otte Date: Wed Dec 21 20:07:16 2016 +0100 gskcairo: Don't store the viewport in the global struct Just query it locally. gsk/gskcairorenderer.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) commit d2622d93adc21a29f9f7afe7e81737aa4c7fde70 Author: Benjamin Otte Date: Wed Dec 21 18:14:51 2016 +0100 gsk: Don't overdraw with transparent That code doesn't do anything. And what the code should be doing (clearing the abckground) isn't necessary as cairo drawing is guaranteed to clear the surface. gsk/gskcairorenderer.c | 6 ------ 1 file changed, 6 deletions(-) commit df5e12fc1d02d38d6fb8cb8e2bfbc4bc40f5bd51 Author: Benjamin Otte Date: Wed Dec 21 13:32:32 2016 +0100 rendernode: Fix typo gsk/gskrendernodeimpl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 814b66e1a8fc25a251f64f4656c7a11a6578a36c Author: Benjamin Otte Date: Wed Dec 21 09:49:43 2016 +0100 gsk: Remove nonexisting functions The function was removed when gsk_render_node_draw() was and gsk_renderer_realize() was refactored respectively. gsk/gskrenderer.h | 8 -------- 1 file changed, 8 deletions(-) commit b4ac7ffed49f1948b6ee02c1ebd47d7383ccaa28 Author: Benjamin Otte Date: Wed Dec 21 07:20:28 2016 +0100 tests: Add a simple test to convert rendernode to png Takes a rendernode file, outputs a PNG. Nothing more. tests/Makefile.am | 2 ++ tests/rendernode.c | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) commit 735846cc823157de75a7606a611caeebd9495736 Author: Benjamin Otte Date: Wed Dec 21 07:20:28 2016 +0100 gsk: Export gsk_render_node_get_bounds() I'll need it in tests/testsuite soon. docs/reference/gsk/gsk4-sections.txt | 2 ++ gsk/gskrendernode.h | 3 +++ gsk/gskrendernodeprivate.h | 2 -- 3 files changed, 5 insertions(+), 2 deletions(-) commit 91c71b10e67f85961f2f87b3ef3cfa88f94c008d Author: Benjamin Otte Date: Wed Dec 21 06:50:39 2016 +0100 inspector: Add a render node save button Now we can select buggy nodes, save them to a file, and add that file to our testsuite. gtk/inspector/recorder.c | 85 ++++++++++++++++++++++++++++++++++++++++++++++- gtk/inspector/recorder.ui | 12 +++++++ 2 files changed, 96 insertions(+), 1 deletion(-) commit c88d27941679a091b66911d97a8adf9977edaf7b Author: Benjamin Otte Date: Wed Dec 21 05:43:14 2016 +0100 gsk: Add gsk_render_node_serialize/deserialize() This does a conversion to/from GBytes and is intended for writing tests. It's really crude but it works. And that probably means Alex will (ab)use it for broadway. gsk/gskrendernode.c | 50 +++ gsk/gskrendernode.h | 6 + gsk/gskrendernodeimpl.c | 927 +++++++++++++++++++++++++++++++++++++++++++++ gsk/gskrendernodeprivate.h | 6 + 4 files changed, 989 insertions(+) commit 3a38bc9bf76cdc9f683a839c8671e7281b6d5698 Author: Benjamin Otte Date: Wed Dec 21 05:30:31 2016 +0100 gsk: Remove spread member from GskShadow I had originally thought I'd use GskShadow for box-shadow, but didn't in the end. So now it's only used for text-shadow and icon-shadow, and those don't have a spread. gsk/gskrendernode.h | 1 - gtk/gtkcssshadowvalue.c | 1 - 2 files changed, 2 deletions(-) commit 5fa17339449409bf97b5e658c8a0436e9c1eafe4 Author: Marek Černocký Date: Thu Dec 22 23:50:53 2016 +0100 Updated Czech translation po-properties/cs.po | 517 ++++++++++++++++++++++++++-------------------------- po/cs.po | 247 +++++++++++++------------ 2 files changed, 384 insertions(+), 380 deletions(-) commit 0efeaf9508d6214c30f8d6636e30bfa4f0a2e228 Author: Benjamin Otte Date: Thu Dec 22 03:35:24 2016 +0100 treeview: Port rest of stuff to snapshot() The only thing still drawn with Cairo are grid lines. gtk/gtktreeprivate.h | 4 +- gtk/gtktreeview.c | 338 +++++++++++++++++++++++++++--------------------- gtk/gtktreeviewcolumn.c | 30 ++--- 3 files changed, 202 insertions(+), 170 deletions(-) commit f1825f5eff8dc9d804c7147e21450dfb9d5423de Author: Benjamin Otte Date: Thu Dec 22 02:29:22 2016 +0100 treeview: Partially convert to snapshot() The big fat scary bin drawing function that actually draws the cell renderers - that one is still missing. gtk/gtktreeview.c | 135 ++++++++++++++++++++++++++++++++---------------------- 1 file changed, 81 insertions(+), 54 deletions(-) commit 23edff1606165357e8efcab82b00e55b43ca7155 Author: Chun-wei Fan Date: Wed Dec 21 11:48:56 2016 +0800 gtkcssimagelinear.c: Avoid VLAs VLAs are not supported by Visual Studio and possibly other compilers that are supported by GTK+-3.90+, and probably never will be, although it is a C99 specification, and it became optional for C11. It is also not a part of the newer compiler requirements that are listed out for GTK+-3.90.x. There exist concerns about the implementation of VLAs in compilers that support them as well, so change it to a g_newa() approach. https://bugzilla.gnome.org/show_bug.cgi?id=773299 gtk/gtkcssimagelinear.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)