Matthias Clasen [Wed, 13 Jul 2022 23:44:53 +0000 (23:44 +0000)]
Merge branch 'coreyberla-main-patch-84997' into 'main'
ci: Remove print-backends build option
See merge request GNOME/gtk!4866
Matthias Clasen [Wed, 13 Jul 2022 21:11:58 +0000 (21:11 +0000)]
Merge branch 'ebassi/childless-stack-page' into 'main'
stack: Assert that StackPage:child is set
See merge request GNOME/gtk!4201
Corey Berla [Wed, 13 Jul 2022 14:21:12 +0000 (14:21 +0000)]
ci: Remove print-backends build option
Flatpak CI is failing because of unknown option "print-backends".
print-backends was renamed to print in
c4d350c260879c11ea94641ac820b331aeaccc7c
and subsequently was removed in
a4aa6d79addfcc5f6b61a9aecd2b3a647e249622
(replaced by print-cups and print-cloudprint as auto options)
Matthias Clasen [Fri, 27 May 2022 21:24:58 +0000 (17:24 -0400)]
testsuite: Fix up a few test for GtkStackPage changes
GtkStackPage objects can no longer be freely created.
Update our generic object tests to take that into
account.
Matthias Clasen [Fri, 27 May 2022 21:24:14 +0000 (17:24 -0400)]
GtkStack: Create stack pages with child
We're requiring stack pages to have a child
at construction time now. Make it so!
Emmanuele Bassi [Mon, 29 Nov 2021 16:57:21 +0000 (16:57 +0000)]
stack: Assert that StackPage:child is set
Childless GtkStackPage instances are not allowed, otherwise everything
falls apart in random places.
Kukuh Syafaat [Wed, 13 Jul 2022 12:58:18 +0000 (12:58 +0000)]
Update Indonesian translation
Matthias Clasen [Wed, 13 Jul 2022 11:20:57 +0000 (11:20 +0000)]
Merge branch 'check-button-s-ancestry' into 'main'
print: Check button is not descendant of toggle button
See merge request GNOME/gtk!4864
Matthias Clasen [Wed, 13 Jul 2022 11:17:07 +0000 (11:17 +0000)]
Merge branch 'empty_list_adjustment' into 'main'
listviews: Reset scrollbar adjustment when list is empty
Closes #4370
See merge request GNOME/gtk!4865
Matthias Clasen [Wed, 13 Jul 2022 11:02:02 +0000 (11:02 +0000)]
Merge branch 'main' into 'main'
textview: Include gutter while computing child allocations
Closes #5016
See merge request GNOME/gtk!4849
JCWasmx86 [Sun, 3 Jul 2022 07:49:25 +0000 (09:49 +0200)]
textview: Include gutter while computing child allocations
The width of the left gutter and the height of the top gutter
are now used while computing the child allocations for e.g.
anchors, otherwise - if such a gutter is present - the
widget would be at the wrong position.
Closes #5016
Matthias Clasen [Wed, 13 Jul 2022 02:55:33 +0000 (22:55 -0400)]
4.7.1
Corey Berla [Tue, 12 Jul 2022 19:42:28 +0000 (12:42 -0700)]
listviews: Reset scrollbar adjustment when list is empty
In a list with a visible scrollbar, the scrollbar usually becomes
invisible when the numbers of items is less than the required amount
to scroll. If, however, the list is emptied all at once,
the scrollbar remains. This happens because when there's an empty
list gtk_list_view_size_allocate() returns early before the scrollbar
adjustment is updated.
Given that the list is empty, simply reset the adjustment values
to zero.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4370
Marek Kasik [Tue, 12 Jul 2022 14:22:59 +0000 (16:22 +0200)]
print: Check button is not descendant of toggle button
GtkCheckButton is not derived from GtkToggleButton anymore.
This caused some issues in GtkPrinterOptionWidget which
did not port handling of the button.
Matthias Clasen [Mon, 11 Jul 2022 19:32:55 +0000 (19:32 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
search-entry: Add getter/setter annotation
See merge request GNOME/gtk!4862
Matthias Clasen [Mon, 11 Jul 2022 19:08:39 +0000 (15:08 -0400)]
search-entry: Add getter/setter annotation
This was suggested in !4823.
Matthias Clasen [Mon, 11 Jul 2022 18:44:01 +0000 (18:44 +0000)]
Merge branch 'wip/otte/for-main' into 'main'
frameclock: Run paint idle from flush idle
Closes #4941
See merge request GNOME/gtk!4858
Matthias Clasen [Mon, 11 Jul 2022 18:04:46 +0000 (18:04 +0000)]
Merge branch 'free-print-backends' into 'main'
print: Free print backends after use
Closes #5019
See merge request GNOME/gtk!4860
Matthias Clasen [Mon, 11 Jul 2022 18:02:28 +0000 (18:02 +0000)]
Merge branch 'ebassi/finish-template' into 'main'
Add gtk_widget_clear_template()
See merge request GNOME/gtk!4735
Matthias Clasen [Mon, 11 Jul 2022 17:35:45 +0000 (17:35 +0000)]
Merge branch 'fix_flatpak' into 'main'
Fix flatpak
See merge request GNOME/gtk!4861
Emmanuele Bassi [Thu, 7 Jul 2022 13:09:35 +0000 (14:09 +0100)]
Rename clear_template to dispose_template
Make it more clear that the function is supposed to be called during the
dispose sequence of a widget.
Emmanuele Bassi [Thu, 7 Jul 2022 12:59:18 +0000 (13:59 +0100)]
fontchooserdialog: Use gtk_widget_clear_template()
Emmanuele Bassi [Thu, 7 Jul 2022 12:59:03 +0000 (13:59 +0100)]
statusbar: Use gtk_widget_clear_template()
Emmanuele Bassi [Thu, 7 Jul 2022 12:58:51 +0000 (13:58 +0100)]
filechooserwidget: Use gtk_widget_clear_template()
Emmanuele Bassi [Thu, 7 Jul 2022 12:58:32 +0000 (13:58 +0100)]
filechooserdialog: Use gtk_widget_clear_template()
Emmanuele Bassi [Wed, 6 Jul 2022 12:53:22 +0000 (13:53 +0100)]
Port the inspector to gtk_widget_clear_template()
Use clear_template() instead of unparenting widgets manually.
Emmanuele Bassi [Wed, 6 Jul 2022 12:29:31 +0000 (13:29 +0100)]
docs: Include clear_template() in the templates overview
Make sure that it's clear how to use it in idiomatic code, by tying it
to gtk_widget_init_template().
Emmanuele Bassi [Wed, 6 Jul 2022 12:23:54 +0000 (13:23 +0100)]
Port gtk-demo widgets to gtk_widget_clear_template()
Emmanuele Bassi [Wed, 6 Jul 2022 12:23:36 +0000 (13:23 +0100)]
Port node editor to gtk_widget_clear_template()
Emmanuele Bassi [Wed, 6 Jul 2022 12:23:23 +0000 (13:23 +0100)]
Port icon browser to gtk_widget_clear_template()
Emmanuele Bassi [Wed, 6 Jul 2022 12:22:54 +0000 (13:22 +0100)]
Port constraint editor to gtk_widget_clear_template()
Emmanuele Bassi [Wed, 6 Jul 2022 12:04:22 +0000 (13:04 +0100)]
docs: Clarify scope of gtk_widget_clear_template()
The clear_template() method only clears the template children.
Emmanuele Bassi [Mon, 23 May 2022 14:17:03 +0000 (15:17 +0100)]
emojichooser: Use gtk_widget_clear_template()
Emmanuele Bassi [Mon, 23 May 2022 14:16:27 +0000 (15:16 +0100)]
mediacontrols: Use gtk_widget_clear_template()
Emmanuele Bassi [Mon, 16 May 2022 13:10:20 +0000 (14:10 +0100)]
Add gtk_widget_clear_template()
The dual of gtk_widget_init_template(), which should be used to clear
the template data associated with a specific GtkWidget type.
Corey Berla [Mon, 11 Jul 2022 16:11:59 +0000 (09:11 -0700)]
flatpak: Bump boost to 1.79
Corey Berla [Mon, 11 Jul 2022 16:11:24 +0000 (09:11 -0700)]
flatpak: Remove benchmarks build option for graphene
benchmarks was removed in
https://github.com/ebassi/graphene/commit/
419edb99f0a314f51157b04d645cd24a959598d2
Corey Berla [Mon, 11 Jul 2022 16:08:47 +0000 (09:08 -0700)]
flatpak: Change option enable_vulkan=no to vulkan=disabled
Syntax was modified in
c4d350c260879c11ea94641ac820b331aeaccc7c
Marek Kasik [Mon, 11 Jul 2022 14:54:36 +0000 (16:54 +0200)]
print: Free print backends after use
Print backends loaded in GtkPrintUnixDialog's load_print_backends()
are not freed later as done in e.g. GtkPageSetupUnixDialog.
This commit destroys and unref those print backends.
Closes #5019
Matthias Clasen [Sun, 10 Jul 2022 22:52:01 +0000 (18:52 -0400)]
NEWS: Updates
Matthias Clasen [Sun, 10 Jul 2022 20:38:29 +0000 (20:38 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
inspector: Hide measure graphs by default
See merge request GNOME/gtk!4859
Matthias Clasen [Sun, 10 Jul 2022 20:24:12 +0000 (16:24 -0400)]
inspector: Hide measure graphs by default
It is much more valuable to have a responsive inspector,
than to have these graphs.
Matthias Clasen [Sun, 10 Jul 2022 19:42:25 +0000 (19:42 +0000)]
Merge branch 'fix-fractional-letterspacing' into 'main'
css: Allow fractional letterspacing
Closes #5034
See merge request GNOME/gtk!4857
Benjamin Otte [Sun, 10 Jul 2022 19:15:22 +0000 (21:15 +0200)]
frameclock: Run paint idle from flush idle
Don't return to the main loop, instead force a run of the paint idle.
The paint idle will know to skip all the phases that aren't requested.
This is critically important becuase gdksurface.c assumes the
FLUSH_EVENTS and RESUME_EVENTS phases are matched, and we cannot
guarantee that if we return to the main loop and let various reentrant
code change the frame clock state.
This would lead to bugs with events being paused and never unpaused
again or even crashes.
Fixes #4941
Matthias Clasen [Sun, 10 Jul 2022 19:22:18 +0000 (15:22 -0400)]
css: Allow fractional letterspacing
Something like letter-spacing: -0.5px make a lot of
sense. But we were handling the number as integer
somewhere, loosing the fractional part.
Fixes: #5034
Matthias Clasen [Fri, 8 Jul 2022 02:00:11 +0000 (02:00 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
widget-factory: Fix a missing export
See merge request GNOME/gtk!4855
Matthias Clasen [Fri, 8 Jul 2022 01:44:57 +0000 (21:44 -0400)]
widget-factory: Fix a missing export
This broke when we started using a scope.
Matthias Clasen [Wed, 6 Jul 2022 19:48:57 +0000 (19:48 +0000)]
Merge branch 'wip/cdavis/use-password-input-purpose' into 'main'
passwordentry: Use password input purpose
See merge request GNOME/gtk!4854
Christopher Davis [Wed, 6 Jul 2022 17:48:25 +0000 (13:48 -0400)]
passwordentry: Use password input purpose
Per discussion in #gtk on Matrix
Matthias Clasen [Tue, 5 Jul 2022 15:13:20 +0000 (15:13 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
fontchooser work
See merge request GNOME/gtk!4850
Benjamin Otte [Mon, 4 Jul 2022 21:27:11 +0000 (21:27 +0000)]
Merge branch 'fix-ffmpeg-decoding' into 'main'
ffmpeg: Fix crash on some media files
See merge request GNOME/gtk!4851
Stephan Vedder [Mon, 4 Jul 2022 09:41:45 +0000 (11:41 +0200)]
ffmpeg: Fix crash on some media files
Return code EAGAIN expects the user to feed more packets into the decoder
Matthias Clasen [Sun, 3 Jul 2022 16:50:40 +0000 (12:50 -0400)]
fontchooser: Make size level effective
We were not hiding the size controls on the tweaks
page, which is arguably what should happen when
the size level is disabled.
Matthias Clasen [Sun, 3 Jul 2022 16:44:53 +0000 (12:44 -0400)]
Beef up testfontchooserdialog
Allow testing levels.
Matthias Clasen [Sun, 3 Jul 2022 11:38:24 +0000 (07:38 -0400)]
fontchooser: Some OpenType improvements
Work harder to find examples for char variation
features, and pull the feature labels out of
the font if possible. This lets us show
meaningful names like "Localised @ and & symbols"
instead of "Stylistic Set 7" or even "ss07".
Matthias Clasen [Sun, 3 Jul 2022 05:19:19 +0000 (01:19 -0400)]
Font features demo improvements
Use font-provided names for ssNN and cvNN features.
But good luck finding a font that has these!
Matthias Clasen [Sun, 3 Jul 2022 03:37:34 +0000 (23:37 -0400)]
Font features demo improvements
Add buttons to cycle through samples.
Matthias Clasen [Sun, 3 Jul 2022 02:46:27 +0000 (22:46 -0400)]
Fix up font features demo
The conversion to a textview was incomplete.
Мирослав Николић [Sun, 3 Jul 2022 02:18:43 +0000 (02:18 +0000)]
Update Serbian translation
(cherry picked from commit
7c0cf9e0c927cd783b0e68d387e20a857b0baf9d)
Emmanuele Bassi [Sat, 2 Jul 2022 22:46:40 +0000 (22:46 +0000)]
Merge branch 'wip/exalm/actionbar' into 'main'
actionbar: Document GtkBuildable child types
See merge request GNOME/gtk!4848
Alexander Mikhaylenko [Sat, 2 Jul 2022 22:26:18 +0000 (02:26 +0400)]
actionbar: Document GtkBuildable child types
Aleksandr Melman [Sat, 2 Jul 2022 18:50:32 +0000 (18:50 +0000)]
Update Russian translation
Matthias Clasen [Sat, 2 Jul 2022 18:17:04 +0000 (18:17 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
gtk4-demo: Add color to font features
See merge request GNOME/gtk!4847
Matthias Clasen [Sat, 2 Jul 2022 15:34:57 +0000 (11:34 -0400)]
gtk4-demo: Add color to font features
Matthias Clasen [Fri, 1 Jul 2022 11:17:32 +0000 (11:17 +0000)]
Merge branch 'wip/chergert/fix-menutracker' into 'main'
menutrackeritem: protect against use-after-free
Closes #5009
See merge request GNOME/gtk!4832
Matthias Clasen [Fri, 1 Jul 2022 04:37:07 +0000 (04:37 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
gtk4-demo: Cosmetics
See merge request GNOME/gtk!4846
Matthias Clasen [Fri, 1 Jul 2022 04:10:16 +0000 (00:10 -0400)]
gtk4-demo: Cosmetics
Matthias Clasen [Fri, 1 Jul 2022 04:08:03 +0000 (04:08 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
Matthiasc/for main
See merge request GNOME/gtk!4845
Matthias Clasen [Fri, 1 Jul 2022 03:52:37 +0000 (23:52 -0400)]
gtk4-demo: Add a waterfall to font features
Matthias Clasen [Fri, 1 Jul 2022 01:11:49 +0000 (21:11 -0400)]
gtk4-demo: Fix font features animation
Matthias Clasen [Fri, 1 Jul 2022 01:03:04 +0000 (01:03 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
demos: Use gtk_builder_cscope_add_callback
See merge request GNOME/gtk!4844
Matthias Clasen [Fri, 1 Jul 2022 00:10:06 +0000 (20:10 -0400)]
demos: Use gtk_builder_cscope_add_callback
This is C convenience API, lets use it for
our convenience.
Matthias Clasen [Thu, 30 Jun 2022 23:23:04 +0000 (23:23 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
Add gtk_builder_cscope_add_callback
See merge request GNOME/gtk!4843
Matthias Clasen [Thu, 30 Jun 2022 22:53:10 +0000 (18:53 -0400)]
gtk3-demo: Add animation to font features
Matthias Clasen [Thu, 30 Jun 2022 21:51:41 +0000 (17:51 -0400)]
gtk4-demo: Polish the font features demo
Matthias Clasen [Thu, 30 Jun 2022 21:02:50 +0000 (17:02 -0400)]
gtk4-demo: Restructure the font features demo
Matthias Clasen [Thu, 30 Jun 2022 20:08:12 +0000 (16:08 -0400)]
gtk4-demo: Cosmetics
Rename the ui file to match the C source, to preserve sanity.
Matthias Clasen [Thu, 30 Jun 2022 20:13:17 +0000 (16:13 -0400)]
Add gtk_builder_cscope_add_callback
This is a convenience method for the common case
that symbols are used under their own name.
Matthias Clasen [Thu, 30 Jun 2022 14:12:20 +0000 (14:12 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
gtk-demo: Beef up font features demo
See merge request GNOME/gtk!4841
Matthias Clasen [Thu, 30 Jun 2022 13:42:32 +0000 (09:42 -0400)]
gtk-demo: Beef up font features demo
Some work on making this demo better.
Matthias Clasen [Wed, 29 Jun 2022 20:05:44 +0000 (20:05 +0000)]
Merge branch 'wip/jimmac/selectable-labels' into 'main'
theme: selectable labels legibility
Closes #5017
See merge request GNOME/gtk!4840
Jakub Steiner [Wed, 29 Jun 2022 19:37:20 +0000 (21:37 +0200)]
theme: selectable labels legibility
- don't set fg color for selections
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/5017
Matthias Clasen [Wed, 29 Jun 2022 19:16:32 +0000 (19:16 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
gtk-demo: Cosmetics
See merge request GNOME/gtk!4839
Benjamin Otte [Wed, 29 Jun 2022 13:00:53 +0000 (13:00 +0000)]
Merge branch 'testdatatable' into 'main'
tests: Add testdatatable
See merge request GNOME/gtk!4838
Ivan Molodetskikh [Wed, 29 Jun 2022 04:46:21 +0000 (21:46 -0700)]
tests: Add testdatatable
Add a GtkColumnView scrolling performance test similar to the one used
previously in https://gitlab.gnome.org/GNOME/gtk/-/issues/3334.
The test creates a table with 20 columns and 10,000 rows and scrolls it
to a random position every frame, while measuring the frame times.
There is a commandline flag to pick the cell widget between none (for
benchmarking raw column view scrolling) and various label types. There
is also a commandline switch to disable automatic scrolling in case a
manual assessment is desired. Finally, there's an argument for
controlling the number of columns.
Emmanuele Bassi [Tue, 28 Jun 2022 21:02:46 +0000 (21:02 +0000)]
Merge branch 'ebassi/ci-publish-doc-fix' into 'main'
ci: Force the fedora image for the publish-docs job
See merge request GNOME/gtk!4837
Emmanuele Bassi [Tue, 28 Jun 2022 20:31:07 +0000 (21:31 +0100)]
ci: Force the fedora image for the publish-docs job
Otherwise every CI runner might decide to use a different default
image, and we'll end up on one that doesn't have curl.
Benjamin Otte [Tue, 28 Jun 2022 19:30:17 +0000 (19:30 +0000)]
Merge branch 'wip/otte/for-main' into 'main'
Rework listitemfactory
See merge request GNOME/gtk!4835
Emmanuele Bassi [Tue, 28 Jun 2022 17:59:31 +0000 (17:59 +0000)]
Merge branch 'template-signals' into 'main'
Force quark creation for templates
See merge request GNOME/gtk!4836
Maximiliano Sandoval R [Tue, 28 Jun 2022 16:48:38 +0000 (18:48 +0200)]
Force quark creation for templates
Sabri Ünal [Tue, 28 Jun 2022 15:52:12 +0000 (15:52 +0000)]
Update Turkish translation
Benjamin Otte [Tue, 28 Jun 2022 14:33:24 +0000 (16:33 +0200)]
signallistitemfactory: Update signal prototype
I'm not sure this is API safe, but it is necessary if we want to support
section items and canvas items.
If it's deemed API-unstable, we have to copy this object and deprecate
this one.
Benjamin Otte [Tue, 28 Jun 2022 14:34:24 +0000 (16:34 +0200)]
listitemfactory: Make this callback-based
This way, we no longer prescribe the use of either GtkListItem or
GtkListItemWidget.
This means we can use it in other places, such as for custom section
header objects or with my Canvas ideas.
Benjamin Otte [Tue, 28 Jun 2022 14:25:31 +0000 (16:25 +0200)]
picture: Clear the paintable properly
Add a clear() function and call it from dispose() instead of using
set_paintable().
Danial Behzadi [Tue, 28 Jun 2022 10:31:16 +0000 (10:31 +0000)]
Update Persian translation
Aleksandr Melman [Sat, 25 Jun 2022 18:36:18 +0000 (18:36 +0000)]
Update Russian translation
Quentin PAGÈS [Sat, 25 Jun 2022 08:56:48 +0000 (08:56 +0000)]
Update Occitan translation
Christian Hergert [Fri, 24 Jun 2022 21:28:18 +0000 (14:28 -0700)]
menutrackeritem: protect against use-after-free
With recent updates to GLib, I now see cases where we can hit a state that
has finalized before notify (which will bump the ref count back up). This
is evident in GNOME Text Editor when showing a language submenu from a
popover, and then dismissing the popover and subsequently the tab.
With the previous commit, we at least get a warning like this, which helped
track down the issue.
Gtk-CRITICAL **: gtk_action_observable_unregister_observer: assertion 'GTK_IS_ACTION_OBSERVABLE (observable)' failed
GLib-GObject-CRITICAL **: g_object_ref: assertion '!object_already_finalized' failed
This patch fixes both of those criticals.
Fixes #5009
Christian Hergert [Fri, 24 Jun 2022 20:50:08 +0000 (13:50 -0700)]
menutrackeritem: be defensive during finalize
The menu/action system tends to be incredibly re-entrant, and while fixing
the misuse during finalization cycles should be a priority, this can help
protect just a bit more.
Related #5009
Benjamin Otte [Fri, 24 Jun 2022 03:39:16 +0000 (03:39 +0000)]
Merge branch 'wip/otte/for-main' into 'main'
gdk: Replace GTK_USE_PORTAL env var with GDK_DEBUG flag
See merge request GNOME/gtk!4829