Benjamin Otte [Thu, 26 May 2022 02:36:14 +0000 (04:36 +0200)]
x11: Always update shadow size
Not updating shadow size unconditionally would lead to shadow size not
being set on map, which would lead mutter to think that we are a Window
without extents and then become confused when we suddenly set some.
Make sure that doesn't happen by always having shadows set on map, just
like GTK3.
Fixes #4136
Luca Bacci [Thu, 19 May 2022 09:05:50 +0000 (09:05 +0000)]
Merge branch 'fix-memory-leak' into 'main'
GdkWin32: Plug memory leak
See merge request GNOME/gtk!4747
Luca Bacci [Thu, 19 May 2022 06:49:05 +0000 (08:49 +0200)]
GdkWin32: Plug memory leak
Benjamin Otte [Wed, 18 May 2022 21:08:46 +0000 (21:08 +0000)]
Merge branch 'wip/otte/for-main' into 'main'
nodeparser: Fix parsing of color-matrix node
See merge request GNOME/gtk!4745
Benjamin Otte [Wed, 18 May 2022 19:16:33 +0000 (21:16 +0200)]
nodeparser: Fix parsing of color-matrix node
Negative offsets in the color matrix were inverted because it used the
rect parser.
Benjamin Otte [Wed, 18 May 2022 18:27:29 +0000 (18:27 +0000)]
Merge branch 'wip/otte/for-main' into 'main'
CI: Include reftest nodes in artifacts
See merge request GNOME/gtk!4743
Benjamin Otte [Wed, 18 May 2022 17:13:39 +0000 (19:13 +0200)]
CI: Include reftest nodes in artifacts
Hugo Carvalho [Wed, 18 May 2022 14:54:31 +0000 (14:54 +0000)]
Update Portuguese translation
Matthias Clasen [Wed, 18 May 2022 13:55:33 +0000 (13:55 +0000)]
Merge branch 'let_selectable_label_mnemonic_self_focus' into 'main'
Allow selectable labels contents to be selected by mnemonic
See merge request GNOME/gtk!4741
Caolán McNamara [Wed, 18 May 2022 11:40:40 +0000 (12:40 +0100)]
Allow selectable labels contents to be selected by mnemonic
expecially by the mnemonic of another label that targets it.
https://gitlab.gnome.org/GNOME/gtk/-/issues/4927
see also https://bugs.documentfoundation.org/show_bug.cgi?id=137748
Jordi Mas [Wed, 18 May 2022 11:32:32 +0000 (13:32 +0200)]
Update Catalan translation
Matthias Clasen [Wed, 18 May 2022 01:34:47 +0000 (01:34 +0000)]
Merge branch 'wip/chergert/fix-4934' into 'main'
checkbutton: fix critical when setting use-underline
Closes #4934
See merge request GNOME/gtk!4740
Christian Hergert [Tue, 17 May 2022 19:28:25 +0000 (12:28 -0700)]
checkbutton: fix critical when setting use-underline
This needs to make sure that we've created the label before applying the
setting on a child widget.
Fixes #4934
Benjamin Otte [Tue, 17 May 2022 00:19:01 +0000 (00:19 +0000)]
Merge branch 'wip/otte/for-main' into 'main'
testsuite: Add tests for label overdraw
See merge request GNOME/gtk!4737
Benjamin Otte [Mon, 16 May 2022 20:26:09 +0000 (22:26 +0200)]
testsuite: Add tests for label overdraw
This brings back a subset of what quit-mnemonic.ui tested for, but
trying a lot harder to trigger the label overdrawing its allocation,
which will cause the text to be cut off when clipping is happening.
It should not be an issue at all with GTK4, but keeping that test around
is a good idea.
Matthias Clasen [Mon, 16 May 2022 20:27:53 +0000 (20:27 +0000)]
Merge branch 'wip/chergert/fix-4625' into 'main'
gsk/gl: use critical instead of assert in dispose
Closes #4625
See merge request GNOME/gtk!4736
Christian Hergert [Mon, 16 May 2022 17:50:07 +0000 (10:50 -0700)]
gsk/gl: use critical instead of assert in dispose
Instead of asserting only in debug builds (which are generally not
shipped in distributions) we should deliver a critical log-level message
so that these can be found sooner when not developing with jhbuild,
Flatpak, etc.
Also assert that we've setup the state correctly when realizing the
GskGLRenderer object.
Fixes #4625
Fran Dieguez [Mon, 16 May 2022 07:58:59 +0000 (07:58 +0000)]
Update Galician translation
Danial Behzadi [Mon, 16 May 2022 07:38:02 +0000 (07:38 +0000)]
Update Persian translation
Matthias Clasen [Mon, 16 May 2022 00:14:28 +0000 (00:14 +0000)]
Merge branch 'wip/sophie-h/remove-properties-translation' into 'main'
l10n: Remove po/pot for dropped nicks/blurbs
See merge request GNOME/gtk!4718
Matthias Clasen [Sun, 15 May 2022 16:34:19 +0000 (16:34 +0000)]
Merge branch 'hb-dependency' into 'main'
Add an explicit harfbuzz dependency
See merge request GNOME/gtk!4732
Matthias Clasen [Sun, 15 May 2022 14:37:24 +0000 (10:37 -0400)]
Add an explicit harfbuzz dependency
We are using Harfbuzz api in the file chooser,
so lets make this official.
Luca Bacci [Sun, 15 May 2022 12:55:22 +0000 (12:55 +0000)]
Merge branch 'gdk-win32-direct-manipulation' into 'main'
GdkWin32: Add support for DirectManipulation
See merge request GNOME/gtk!4698
Luca Bacci [Wed, 4 May 2022 12:56:48 +0000 (14:56 +0200)]
GdkWin32: Add support for DirectManipulation
Adds support for Precision TouchPads (PTPs) gestures
and scroll events.
Piotr Drąg [Sun, 15 May 2022 12:04:06 +0000 (14:04 +0200)]
Update Polish translation
Emin Tufan Çetin [Sun, 15 May 2022 11:14:27 +0000 (11:14 +0000)]
Update Turkish translation
Danial Behzadi [Sun, 15 May 2022 06:30:26 +0000 (06:30 +0000)]
Update Persian translation
(cherry picked from commit
2b1c09dd42bfb648a7f675ff645715d8dd07411e)
Matthias Clasen [Sat, 14 May 2022 21:59:09 +0000 (21:59 +0000)]
Merge branch 'ci-update' into 'main'
ci: Update the Fedora image to Fedora 36
See merge request GNOME/gtk!4730
Matthias Clasen [Sat, 14 May 2022 16:52:40 +0000 (12:52 -0400)]
Drop the quit-mnemonic reftest
I can't quite figure out what this test was meant
to test, and how to make it do so in a way that
does not fall afoul of rendering issues in the GL
renderer and rounding differences in pango.
Can't win with reftests.
Matthias Clasen [Sat, 14 May 2022 12:41:18 +0000 (08:41 -0400)]
ci: Update the Fedora image to Fedora 36
Also remove systemtap from the image, since
we don't need it.
The v36 image is still used in gtk-4-6.
Benjamin Otte [Sat, 14 May 2022 15:28:09 +0000 (15:28 +0000)]
Merge branch 'wip/otte/for-main' into 'main'
listitemmanager: Clarify warning
See merge request GNOME/gtk!4731
Benjamin Otte [Sat, 14 May 2022 14:53:22 +0000 (16:53 +0200)]
broadway: Fix gcc 12 complaining
Benjamin Otte [Sun, 8 May 2022 03:49:40 +0000 (05:49 +0200)]
listitemmanager: Clarify warning
Lars doesn't have an opinion on this problem anymore.
And when people see this warning, they should know what to do.
Matthias Clasen [Sat, 14 May 2022 12:48:40 +0000 (12:48 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
Cosmetic fixes to objcopy hack
See merge request GNOME/gtk!4729
Yuri Chornoivan [Sat, 14 May 2022 12:22:13 +0000 (12:22 +0000)]
Update Ukrainian translation
Matthias Clasen [Sat, 14 May 2022 11:53:47 +0000 (07:53 -0400)]
Cosmetic fixes to objcopy hack
Preserve the elf section name that we would get
without the objcopy hack. Minimizing the differences
Anders Jonsson [Sat, 14 May 2022 10:03:33 +0000 (10:03 +0000)]
Update Swedish translation
(cherry picked from commit
2d8a8e357549670b95eaa8ce673ac79aa326d212)
Matthias Clasen [Fri, 13 May 2022 17:06:46 +0000 (17:06 +0000)]
Merge branch 'texture-serialize-tiff' into 'main'
gsk: Serialize textures as tiff
See merge request GNOME/gtk!4725
Matthias Clasen [Fri, 13 May 2022 16:38:45 +0000 (16:38 +0000)]
Merge branch 'texture-fixes' into 'main'
Fixes for gdk_memory_texture_new_subtexture
See merge request GNOME/gtk!4724
Matthias Clasen [Tue, 10 May 2022 19:49:44 +0000 (15:49 -0400)]
gsk: Serialize float textures as tiff
Otherwise, we lose precision when converting them
to 16bit integers.
Matthias Clasen [Fri, 13 May 2022 13:31:40 +0000 (09:31 -0400)]
Add tests for gdk_memory_texture_new_subtexture
This checks the fixes in the previous commit.
Matthias Clasen [Fri, 13 May 2022 14:53:23 +0000 (14:53 +0000)]
Merge branch 'file-chooser-widget-make-key-controller-on-external-entry-work-at-bubble-phase' into 'main'
GtkFileChooserWidget: Propagate keys from external entry to fcwidget at the BUBBLE phase
Closes #4905
See merge request GNOME/gtk!4723
Matthias Clasen [Sun, 8 May 2022 17:53:04 +0000 (13:53 -0400)]
Fixes for gdk_memory_texture_new_subtexture
There were several mistakes here.
The width of subtextures was set to the width of
the main texture, the data size wasn't properly
calculated, and the preconditions were inverted.
Yay us!
Luca Bacci [Fri, 13 May 2022 10:28:25 +0000 (12:28 +0200)]
GtkFileChooserWidget: Propagate keys from external entry to fcwidget at the BUBBLE phase
Now that we use event controllers we can forward keybindings from the
external entry to the filechooserwidget at the bubble phase.
Fixes #4905
References:
* commit
1fb075dbca911d4a61e7ebbf9fc040cd697f4d83
* commit
686116ba615f989610a6b78e84870555dbf5106b
Matthias Clasen [Thu, 12 May 2022 15:25:29 +0000 (15:25 +0000)]
Merge branch 'egl-format-string' into 'main'
egl: Fix invalid format string
See merge request GNOME/gtk!4722
Loïc Minier [Wed, 11 May 2022 19:43:04 +0000 (19:43 +0000)]
egl: Fix invalid format string
Matthias Clasen [Thu, 12 May 2022 02:18:02 +0000 (02:18 +0000)]
Merge branch 'wip/sophie-h/remove-param-nicks-blurbs' into 'main'
gtk: Remove all nicks and blurbs from param specs
Closes #4904
See merge request GNOME/gtk!4717
Matthias Clasen [Thu, 12 May 2022 02:01:03 +0000 (02:01 +0000)]
Merge branch 'wip/exalm/color-scales' into 'main'
Redesign GtkColorScale
See merge request GNOME/gtk!4720
Matthias Clasen [Thu, 12 May 2022 01:53:48 +0000 (01:53 +0000)]
Merge branch 'wip/chergert/action-critical-fixes' into 'main'
various action muxer correctness fixes
See merge request GNOME/gtk!4719
Alexander Mikhaylenko [Wed, 11 May 2022 22:22:52 +0000 (02:22 +0400)]
theme: Redesign color scales
See https://gitlab.gnome.org/GNOME/libadwaita/-/issues/469
Since this style needs changes in color scales themselves, it makes sense
to have it in GTK as well.
Alexander Mikhaylenko [Wed, 11 May 2022 22:21:51 +0000 (02:21 +0400)]
range: Support border-radius for GtkColorScale troughs
With how this hack is organized, it's simpler to add more code here than
to pass it to GtkColorScale itself.
Alexander Mikhaylenko [Wed, 11 May 2022 22:21:34 +0000 (02:21 +0400)]
coloreditor: Stop adding marks style to color scales
Christian Hergert [Mon, 2 May 2022 22:33:34 +0000 (15:33 -0700)]
actionmuxer: check for observer before unregistering
This can happen if the group can be resolved even when doing the initial
registration of an action as observer will not yet be in the GSList of
watchers (and therefore has no weak references).
Fixes a warning like the following:
g_object_weak_unref: couldn't find weak ref
Christian Hergert [Mon, 2 May 2022 21:55:55 +0000 (14:55 -0700)]
actionmuxer: set handler ids initially to zero
These were getting created with possible non-zero values and then inserted
into a hashtable where the readers may not know the state of the group.
Ensure those values are set to zero until we assign them below.
Sophie Herold [Wed, 11 May 2022 15:42:31 +0000 (17:42 +0200)]
inspector: Stop using blurb as tooltip
Does not make sense any longer if we don't set blurbs.
Sophie Herold [Wed, 11 May 2022 15:07:21 +0000 (17:07 +0200)]
tests: Check for nicks and blurbs not being set
Sophie Herold [Wed, 11 May 2022 12:19:39 +0000 (14:19 +0200)]
Remove all nicks and blurbs from param specs
Those property features don't seem to be in use anywhere.
They are redundant since the docs cover the same information
and more. They also created unnecessary translation work.
Closes #4904
Sophie Herold [Wed, 11 May 2022 15:36:07 +0000 (17:36 +0200)]
l10n: Remove po/pot for dropped nicks/blurbs
Matthias Clasen [Tue, 10 May 2022 19:32:16 +0000 (19:32 +0000)]
Merge branch 'fix-wayland-glitching-v2' into 'main'
gdk/wayland: freeze popups when hidden 2
See merge request GNOME/gtk!4712
Christian Hergert [Thu, 24 Mar 2022 00:00:21 +0000 (17:00 -0700)]
gdk/wayland: freeze popups when hidden
Previously, there was an issue with glitching after showing/hiding a
popover that was not also destroyed. This was due to the popover having
an update_freeze_count of zero after hiding the surface.
That resulted in it's toplevel continuously dropping frames such as during
high-frame-rate scrolling in textviews. This problem is much more visible
on high-frame-rate displays such as 120hz/144hz.
With this commit, we freeze the frame clock of the popup until it is
mapped again.
Pawan Chitrakar [Mon, 9 May 2022 10:44:41 +0000 (10:44 +0000)]
Update Nepali translation
(cherry picked from commit
f60e5950dc29f98b686fc698f22f750c91c53f7a)
Matthias Clasen [Sun, 8 May 2022 22:15:32 +0000 (22:15 +0000)]
Merge branch 'add-gtk-dropdown-buildable-example' into 'main'
dropdown: Add GtkBuildable doc
See merge request GNOME/gtk!4708
Sonny Piers [Sun, 8 May 2022 20:39:59 +0000 (22:39 +0200)]
dropdown: Add UI definition example
Pawan Chitrakar [Sun, 8 May 2022 08:44:53 +0000 (08:44 +0000)]
Update Nepali translation
(cherry picked from commit
5ae37c6d999f58c7bb92003edf14e4140436a5df)
Matthias Clasen [Sun, 8 May 2022 00:51:08 +0000 (00:51 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
printdialog: Handle nonexisting files better
See merge request GNOME/gtk!4702
Matthias Clasen [Sun, 8 May 2022 00:30:55 +0000 (20:30 -0400)]
printdialog: Handle nonexisting files better
When a non-existing file is selected in the file chooser
for print-to-file, we weren't updating the button label
to show the new filename. Fix that.
Also, use newer file chooser api.
Matthias Clasen [Sat, 7 May 2022 15:59:38 +0000 (11:59 -0400)]
4.7.0
Matthias Clasen [Sat, 7 May 2022 15:42:56 +0000 (11:42 -0400)]
NEWS: Updates
Matthias Clasen [Sat, 7 May 2022 12:09:29 +0000 (12:09 +0000)]
Merge branch 'install-node-editor' into 'main'
Install gtk4-node-editor
See merge request GNOME/gtk!4701
Piotr Drąg [Sat, 7 May 2022 11:49:37 +0000 (13:49 +0200)]
Update POTFILES.in and POTFILES.skip
Matthias Clasen [Sat, 7 May 2022 03:48:40 +0000 (23:48 -0400)]
Install gtk4-node-editor
It is an application worth having around.
Matthias Clasen [Sat, 7 May 2022 03:48:13 +0000 (23:48 -0400)]
Add a man page for gtk4-node-editor
Matthias Clasen [Sat, 7 May 2022 03:44:08 +0000 (23:44 -0400)]
node-editor: Add things
Add a desktop file and appdata.
Matthias Clasen [Sat, 7 May 2022 03:51:45 +0000 (03:51 +0000)]
Merge branch 'faster-listview-scrolling' into 'main'
listitemwidget: Avoid some unnecessary work
See merge request GNOME/gtk!4700
Matthias Clasen [Sat, 7 May 2022 03:51:10 +0000 (03:51 +0000)]
Merge branch 'redo-doc-images' into 'main'
wip: Redo doc image generation
See merge request GNOME/gtk!4646
Matthias Clasen [Sat, 7 May 2022 03:05:15 +0000 (23:05 -0400)]
Updated screenshots
Produced by running the screenshot command over the
ui files in the same directory.
Matthias Clasen [Mon, 18 Apr 2022 15:56:43 +0000 (11:56 -0400)]
Generate screenshots on the fly
This commit adds a new meson option -Dupdate_screenshots=true.
When it is enabled, and -Dgtk_doc=true is also used, then the
build will generate images to include in the API docs from
ui files in docs/reference/gtk/images.
Note: we still keep a copy of the images in git, in order to
allow building without a display connection. To update the
images in git, the generated images need to be copied back
from the builddir to the srcdir.
Matthias Clasen [Mon, 18 Apr 2022 18:31:31 +0000 (14:31 -0400)]
Remove the old doc shooter infrastructure
This is no longer used.
Matthias Clasen [Sat, 7 May 2022 02:28:14 +0000 (22:28 -0400)]
listitemwidget: Avoid more paramspec lookups
We can use the same helper function in all
places where we notify all three listitem
properties.
Matthias Clasen [Sat, 7 May 2022 01:36:22 +0000 (21:36 -0400)]
listitemwidget: Avoid some unnecessary work
Only update widget and accessible state if the
selected property actually changed.
Matthias Clasen [Sat, 7 May 2022 00:39:35 +0000 (00:39 +0000)]
Merge branch 'screenshot-popovers' into 'main'
builder-tool: Screenshot popovers properly
See merge request GNOME/gtk!4699
Matthias Clasen [Fri, 6 May 2022 18:39:58 +0000 (14:39 -0400)]
builder-tool: Screenshot popovers properly
Do the necessary shenanigans to get popovers to show
up in screenshots.
Matthias Clasen [Fri, 6 May 2022 18:02:05 +0000 (18:02 +0000)]
Merge branch 'check-half-float' into 'main'
gdk: Check OES_vertex_half_float GLES extension
See merge request GNOME/gtk!4689
Benjamin Otte [Fri, 6 May 2022 16:11:21 +0000 (16:11 +0000)]
Merge branch 'list-item-factory-notify-by-pspec' into 'main'
list-item: Use notify_by_pspec instead of by name
See merge request GNOME/gtk!4697
Matthias Clasen [Fri, 6 May 2022 15:22:41 +0000 (15:22 +0000)]
Merge branch 'builder-treestore-data' into 'main'
Add buildable data support to GtkTreeStore
See merge request GNOME/gtk!4695
Matthias Clasen [Thu, 5 May 2022 17:09:26 +0000 (13:09 -0400)]
gsk: Check for half float support
The GL renderer currently relies on half float support
in vertex buffers, so check that we have it.
Related: #4894
Ivan Molodetskikh [Fri, 6 May 2022 15:05:03 +0000 (18:05 +0300)]
list-item: Use notify_by_pspec instead of by name
This is a hot path when scrolling a ColumnView, and
g_param_spec_pool_lookup () was taking a measurable part in this hot
path. Instead, notify using pspecs to avoid the name lookup.
Related: https://gitlab.gnome.org/GNOME/gtk/-/issues/3334
Luca Bacci [Fri, 6 May 2022 14:58:32 +0000 (14:58 +0000)]
Merge branch 'gdk-win32-rework-scroll-input-handling' into 'main'
GdkWin32: Rework scroll input handling
See merge request GNOME/gtk!4633
Benjamin Otte [Fri, 6 May 2022 14:52:21 +0000 (14:52 +0000)]
Merge branch 'list-item-factory-no-freeze-thaw' into 'main'
listitemfactory: Track notify manually instead of freeze/thaw
See merge request GNOME/gtk!4696
Ivan Molodetskikh [Fri, 6 May 2022 14:21:00 +0000 (17:21 +0300)]
listitemfactory: Track notify manually instead of freeze/thaw
freeze/thaw_notify () showed up on the perf trace for rapid ColumnView
scrolling. Track the three properties manually to make it a little
faster.
Related: https://gitlab.gnome.org/GNOME/gtk/-/issues/3334
Matthias Clasen [Fri, 6 May 2022 13:49:14 +0000 (13:49 +0000)]
Merge branch 'unclipped-screenshots' into 'main'
builder-tool: Include shadows in screenshots
See merge request GNOME/gtk!4692
Matthias Clasen [Fri, 6 May 2022 13:09:33 +0000 (09:09 -0400)]
testsuite: test new treestore builder functionality
Verify that we can nest rows.
Matthias Clasen [Fri, 6 May 2022 13:10:29 +0000 (09:10 -0400)]
treestore: support nested data in builder
This allows <row> elements to be nested.
Note that the child rows must come after
the data for the row itself.
Matthias Clasen [Fri, 6 May 2022 13:23:31 +0000 (09:23 -0400)]
builder: Allow checking for multiple parents
Matthias Clasen [Fri, 6 May 2022 13:01:25 +0000 (09:01 -0400)]
testsuite: Copy liststore builer tests for trees
This adds tests for data, but not nesting yet.
Matthias Clasen [Fri, 6 May 2022 11:48:28 +0000 (07:48 -0400)]
treestore: Copy liststore buildable implementation
This add support for data, but does not allow
nesting yet.
Matthias Clasen [Fri, 6 May 2022 11:31:29 +0000 (07:31 -0400)]
treestore: Cosmetics
Some renaming in the buildable code to make it more
similar to the liststore implementation.
Benjamin Otte [Fri, 6 May 2022 13:03:47 +0000 (13:03 +0000)]
Merge branch 'otte-main-patch-11831' into 'main'
Don't invalidate parent if it didn't change
See merge request GNOME/gtk!4693
Luca Bacci [Tue, 12 Apr 2022 09:00:03 +0000 (11:00 +0200)]
GdkWin32: Send smooth scroll events
Bring back smooth scroll events as the issues mentioned
in [1] do not occur anymore. Also rework code style and
comments.
References:
[1] GTK4: Scrolling hides mouse on windows
https://gitlab.gnome.org/GNOME/gtk/-/issues/3581
[2] Why are mouse wheel messages delivered to the focus window
instead of the window under the mouse?
https://devblogs.microsoft.com/oldnewthing/
20160420-00/?p=93325
Benjamin Otte [Fri, 6 May 2022 11:50:55 +0000 (11:50 +0000)]
Don't invalidate parent if it didn't change
This looks like a leftover excess invalidation from when the surrounding
code was refactored to not just be called on parent changes but also
when repositioning inside the same parent in commit
507016cafc407b2c47aea3fd1483df75e9757f29
Ivan Molodetskikh found this problem in
https://gitlab.gnome.org/GNOME/gtk/-/issues/3334#note_1445873 which
contains a longer analysis of this problem and the performance
reductions it causes.
Related: #3334