Simon McVittie [Sat, 14 May 2022 16:05:54 +0000 (17:05 +0100)]
d/rules: Work around llvmpipe segfault on mipsel by forcing softpipe
Mitigates: #
1010838
Simon McVittie [Sat, 14 May 2022 14:48:08 +0000 (15:48 +0100)]
d/rules, d/run-tests.sh: Move loop through backends into run-tests.sh
This means that if an X11 test fails, we try the Wayland tests (if we
are running them at all) before failing the build.
Simon McVittie [Sat, 14 May 2022 14:44:00 +0000 (15:44 +0100)]
d/rules: Stop skipping ngl tests on big-endian machines
The ngl renderer no longer exists: it was renamed to gl.
Jeremy Bicha [Sat, 14 May 2022 14:05:57 +0000 (10:05 -0400)]
releasing package gtk4 version 4.6.4+ds-2
Jeremy Bicha [Sat, 14 May 2022 13:03:44 +0000 (09:03 -0400)]
Cherry-pick patch to fix pasting into the filechooser name field
LP: #
1971532
Jeremy Bicha [Fri, 13 May 2022 20:29:10 +0000 (16:29 -0400)]
releasing package gtk4 version 4.6.4+ds-1
Jeremy Bicha [Fri, 13 May 2022 20:04:50 +0000 (16:04 -0400)]
Drop patches applied in new release
Jeremy Bicha [Fri, 13 May 2022 20:02:01 +0000 (16:02 -0400)]
New upstream release
Jeremy Bicha [Fri, 13 May 2022 20:02:01 +0000 (16:02 -0400)]
Update upstream source from tag 'upstream/4.6.4+ds'
Update to upstream version '4.6.4+ds'
with Debian dir
9cad4393761ce66d39059df07bd46e5a0c950904
Jeremy Bicha [Fri, 13 May 2022 20:01:20 +0000 (16:01 -0400)]
New upstream version 4.6.4+ds
Jeremy Bicha [Fri, 13 May 2022 19:55:22 +0000 (15:55 -0400)]
Use gi-docgen to build docs
Matthias Clasen [Fri, 13 May 2022 17:58:42 +0000 (13:58 -0400)]
4.6.4
Jeremy Bicha [Thu, 12 May 2022 15:36:17 +0000 (11:36 -0400)]
Cherry-pick patch to fix an invalid format string
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.
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.
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 [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
Jeremy Bicha [Mon, 9 May 2022 20:48:21 +0000 (16:48 -0400)]
releasing package gtk4 version 4.6.3+ds1-2
Jeremy Bicha [Mon, 9 May 2022 20:26:09 +0000 (16:26 -0400)]
Cherry-pick gtk-4-6 patch needed for mutter 42.1
LP: #
1972722
Matthias Clasen [Mon, 9 May 2022 19:57:44 +0000 (19:57 +0000)]
Merge branch 'wip/carlosg/ignore-null-preedit-4.6' into 'gtk-4-6'
imcontextwayland: Ignore preedit updates from NULL to NULL
See merge request GNOME/gtk!4711
Carlos Garnacho [Tue, 26 Apr 2022 10:23:09 +0000 (12:23 +0200)]
imcontextwayland: Ignore preedit updates from NULL to NULL
If we get consecutive preedit string updates that announce a NULL
string, we still do end up issuing ::preedit-changed with those.
Ignore changes from NULL to NULL, it is the other combinations which
must issue this signal.
(cherry-picked from commit
d6fe6f495a52de47927bf17ce3bc492a971c025f)
Pawan Chitrakar [Mon, 9 May 2022 10:44:41 +0000 (10:44 +0000)]
Update Nepali translation
Pawan Chitrakar [Sun, 8 May 2022 08:44:53 +0000 (08:44 +0000)]
Update Nepali translation
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.
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
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
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
Matthias Clasen [Thu, 5 May 2022 17:08:32 +0000 (13:08 -0400)]
gdk: Check OES_vertex_half_float GLES extension
This will be checked in the GL renderer.
Simon McVittie [Wed, 4 May 2022 10:30:30 +0000 (11:30 +0100)]
Release to unstable
Simon McVittie [Wed, 4 May 2022 10:28:03 +0000 (11:28 +0100)]
Unfuzz gi-docgen patches
Simon McVittie [Wed, 4 May 2022 10:01:59 +0000 (11:01 +0100)]
Update changelog
Simon McVittie [Wed, 4 May 2022 10:00:20 +0000 (11:00 +0100)]
New upstream release
Simon McVittie [Wed, 4 May 2022 10:00:20 +0000 (11:00 +0100)]
Update upstream source from tag 'upstream/4.6.3+ds1'
Update to upstream version '4.6.3+ds1'
with Debian dir
17ef149abeecf9904adb685ecf3eea848c9e4509
Simon McVittie [Wed, 4 May 2022 09:59:32 +0000 (10:59 +0100)]
New upstream version 4.6.3+ds1
Simon McVittie [Wed, 4 May 2022 09:58:55 +0000 (10:58 +0100)]
d/copyright: No need to exclude subprojects/wayland any more
It's no longer included in tarballs.
Simon McVittie [Wed, 4 May 2022 09:57:45 +0000 (10:57 +0100)]
d/copyright: Exclude gtk/theme/Default/Default-*.css
We delete them in clean and rebuild them during the package build.
Since we're repacking the tarball anyway, we might as well exclude these
generated files.
Simon McVittie [Wed, 4 May 2022 09:56:30 +0000 (10:56 +0100)]
Revert "d/control.in: Use system copy of gi-docgen"
This reverts commit
5be6ba27a1356650a7386b98c5718d26d7f853a4.
Simon McVittie [Wed, 4 May 2022 09:56:23 +0000 (10:56 +0100)]
Revert "Drop gi-docgen patches"
This reverts commit
f0e8b0aa9adb9028f1ed10e537dcadd04de373d1.
Simon McVittie [Wed, 4 May 2022 09:56:14 +0000 (10:56 +0100)]
Revert "d/copyright: Drop gi-docgen stanzas"
This reverts commit
ae665cf29ad336721257d8118e1216c59270f462.
Simon McVittie [Wed, 4 May 2022 09:55:27 +0000 (10:55 +0100)]
Update changelog
Simon McVittie [Wed, 4 May 2022 09:36:51 +0000 (10:36 +0100)]
Ignore unaligned-offscreen GSK comparison test
Workaround for GNOME/gtk#4889.
Simon McVittie [Wed, 4 May 2022 09:36:01 +0000 (10:36 +0100)]
d/rules, d/run-tests.sh: Add infrastructure to ignore failing GSK tests
Similar to reftests, these can be fragile against varying versions of
dependencies.
Simon McVittie [Wed, 4 May 2022 09:35:04 +0000 (10:35 +0100)]
d/log-reftests.py: Update names of GSK renderers
Simon McVittie [Wed, 4 May 2022 08:47:01 +0000 (09:47 +0100)]
Update to upstream gtk-4-6 branch commit
4.6.3-9-g045446c3da
- Work around infinite loop in box allocation (Closes: #
1010547)
- Make it easier to select the current folder with a file chooser
- Fix saving into a subdirectory with a file chooser
- Translation updates
Luca Bacci [Tue, 3 May 2022 08:52:02 +0000 (08:52 +0000)]
Merge branch 'backport-mr-4678-gtk-4-6' into 'gtk-4-6'
GtkFileChooserWidget: fixes for NULL vs empty GListModel
See merge request GNOME/gtk!4684
Luca Bacci [Sun, 1 May 2022 14:41:10 +0000 (16:41 +0200)]
GtkFileChooserWidget: return empty GListModel in get_files () instead of NULL
Luca Bacci [Sun, 1 May 2022 14:31:47 +0000 (16:31 +0200)]
GtkFileChooserWidget: check for empty instead of NULL GListModel
While porting GtkFileChooserWidget from GList to GListModel we did not
change some checks for NULL to checks for empty list.
Fixes #4851, #4858
Emmanuele Bassi [Fri, 29 Apr 2022 18:33:55 +0000 (18:33 +0000)]
Merge branch 'wip/sophie-h/cherry-pick-filechooser' into 'gtk-4-6'
filechooser: cherry-pick small fix for select folder mode
See merge request GNOME/gtk!4676
Sophie Herold [Mon, 18 Apr 2022 22:55:05 +0000 (00:55 +0200)]
filechooser: Small fix for select folder mode
When changing folders, we were making the select
button insensitive when there is no folder selected.
However, the select button should be usable to
select the current folder.
Fixes #4020
Simon McVittie [Wed, 27 Apr 2022 14:24:38 +0000 (15:24 +0100)]
Update changelog
Simon McVittie [Wed, 27 Apr 2022 14:21:45 +0000 (15:21 +0100)]
d/control.in: Use system copy of gi-docgen
Normally we'd use the bundled copy as per upstream's recommendation,
but there isn't one in this version.
Simon McVittie [Wed, 27 Apr 2022 14:20:20 +0000 (15:20 +0100)]
d/copyright: Drop gi-docgen stanzas
It is not included in this version.
Simon McVittie [Wed, 27 Apr 2022 14:19:49 +0000 (15:19 +0100)]
Drop gi-docgen patches
This orig tarball was built with `meson dist` since upstream has not
published an official tarball, and that results in it not having the
bundled gi-docgen that the official tarball does.
Yosef Or Boczko [Wed, 27 Apr 2022 14:19:20 +0000 (14:19 +0000)]
Update Hebrew translation
Simon McVittie [Wed, 27 Apr 2022 14:14:50 +0000 (15:14 +0100)]
New upstream release
Simon McVittie [Wed, 27 Apr 2022 14:14:50 +0000 (15:14 +0100)]
Update upstream source from tag 'upstream/4.6.3+ds'
Update to upstream version '4.6.3+ds'
with Debian dir
6601df6440ff276e9d09ce9ca28e030f3d333a90
Simon McVittie [Wed, 27 Apr 2022 14:14:14 +0000 (15:14 +0100)]
New upstream version 4.6.3+ds
Yaron Shahrabani [Wed, 27 Apr 2022 12:00:13 +0000 (12:00 +0000)]
Update Hebrew translation
Benjamin Otte [Tue, 26 Apr 2022 23:51:10 +0000 (23:51 +0000)]
Merge branch 'cherry-pick-
515b1f52' into 'gtk-4-6'
boxlayout: Do not infloop
See merge request GNOME/gtk!4670
Benjamin Otte [Tue, 26 Apr 2022 17:51:16 +0000 (19:51 +0200)]
boxlayout: Do not infloop
if the loop for determining max width grows too big, print an error and
abort assuming that a satisfactory value was reached.
This will cause wrong layout and might cause widgets to overlap, but it
will not infloop.
It actually works around and doesn't really fix the primary cause of the
following bugs, but good enough to close them:
Fixes: #4252
Fixes: #4517
(cherry picked from commit
515b1f52929a189b858a38aba733a3e7d2375fbc)
Simon McVittie [Sun, 24 Apr 2022 11:34:15 +0000 (12:34 +0100)]
Refresh patch series
Gbp-Dch: ignore
Matthias Clasen [Fri, 22 Apr 2022 00:58:13 +0000 (20:58 -0400)]
4.6.3
Matthias Clasen [Wed, 20 Apr 2022 03:14:37 +0000 (23:14 -0400)]
theme: Fix vertical spin button selection
The selection should be black-on-blue as it is
everywhere else now. This was just a leftover.
Fixes: #4788
Emmanuele Bassi [Tue, 19 Apr 2022 14:33:21 +0000 (15:33 +0100)]
Quench the anger of GCC
Direct access of the fields of the union trips compiler warnings with
GCC 12, such as:
../gtk/gtkimagedefinition.c:135:13: error: array subscript
‘GtkImageDefinition {aka union _GtkImageDefinition}[0]’ is partly
outside array bounds of ‘GtkImageDefinitionEmpty[1]’ {aka
‘struct _GtkImageDefinitionEmpty[1]’} [-Werror=array-bounds]
Matthias Clasen [Tue, 19 Apr 2022 03:03:15 +0000 (23:03 -0400)]
Fix file filter buildable support
File filters creates from ui files had some
extraneous gunk in them. Fix that. Test included.
Fixes: #4787
Marcel Tiede [Mon, 18 Apr 2022 06:20:19 +0000 (06:20 +0000)]
docs: Fix typo in description of GtkExpression
Alexander Mikhaylenko [Sat, 16 Apr 2022 12:56:17 +0000 (16:56 +0400)]
scrolledwindow: Pick up gtk-overlay-scrolling changes on the fly
Alexander Mikhaylenko [Sat, 16 Apr 2022 12:30:07 +0000 (16:30 +0400)]
scrolledwindow: Fix :kinetic-scrolling setter
Alexander Mikhaylenko [Fri, 15 Apr 2022 23:48:21 +0000 (03:48 +0400)]
tooltipwindow: Don't restrict minimum tooltip label length
We only care about wrapping at that length, we still want short tooltips
for short labels.
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3741
Alexander Mikhaylenko [Fri, 15 Apr 2022 23:28:22 +0000 (03:28 +0400)]
tooltipwindow: Remove a duplicate gtk_widget_class_set_css_name() call
Emmanuele Bassi [Thu, 14 Apr 2022 21:44:17 +0000 (22:44 +0100)]
Mark nullable arguments in GtkPaned
The set_start_child() and set_end_child() methods take NULL for the
child argument, as a way to remove the child from the paned widget.
Emmanuele Bassi [Thu, 14 Apr 2022 21:43:40 +0000 (22:43 +0100)]
docs: Fix the GtkPaned style
Use proper links to properties and methods, and drop gtk-doc'isms.
Julian Sparber [Thu, 14 Apr 2022 10:14:17 +0000 (12:14 +0200)]
label: Move focus out of widget after last link
This allows the user to navigate via tab the links in a label and exits
the widget after the last link, when moving forward, and first link,
when moving backward.
This also ensures that ellipsised links arn't focused.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4681
Julian Sparber [Wed, 13 Apr 2022 16:56:29 +0000 (18:56 +0200)]
label: Maintain value for `has-tooltip` for labels with links
The `has-tooltip` property gets set to `false` for label with links if no
link is selected. This makes sure to only change the property to `true`
but never to `false`.
Ivan Molodetskikh [Mon, 11 Apr 2022 07:31:52 +0000 (10:31 +0300)]
scrollable: Clarify when to set adjustment props
Instead of populating the properties right away (when the widget might
not have been allocated yet, and hence cannot know the right values),
the widget should queue an allocation, where it will populate the
values.
Matthias Clasen [Fri, 8 Apr 2022 15:18:15 +0000 (11:18 -0400)]
gsk/gl: Typo fix
Matthias Clasen [Sun, 5 Dec 2021 03:16:01 +0000 (22:16 -0500)]
gtk-demo: Small fixup to the cursors demo
Carlos Garnacho [Wed, 6 Apr 2022 11:08:00 +0000 (13:08 +0200)]
imwayland: Do not defer commit() after set_surrounding_text()
For reasons that only apply to the old serial handling, asking for
the surrounding after IM changes resulted in lazy handling of
commit() afterwards.
With the recent interpretation of serials, this problem became more
apparent, since it is in fact very likely that the last interaction
step after an IM change is notifying of the changed surrounding
text after the IM change was applied.
Make handling of surrounding text similar to caret position changes,
always commit() after the state change, but skip through non-changes.
This makes the compositor state fully up-to-date after an IM change.
Carlos Garnacho [Wed, 6 Apr 2022 09:01:01 +0000 (11:01 +0200)]
imwayland: Connect OSK activating gesture to parent widget on editables
The gesture as connected currently on the child GtkText is easily overridden
by the parent editables (and gently done so in the attempt to consume all
clicks).
Connect this gesture to the parent editable widget in these cases, so the
gesture can cohabit with the click-consuming one. It's not part of the same
group, but it won't be abruptly cancelled.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4795
Sebastian Keller [Mon, 4 Apr 2022 20:55:16 +0000 (22:55 +0200)]
testsuite: Add unaligned-offscreen test
Tests whether text rendered to an offscreen node unaligned with the
pixel grid introduces blurriness.
Sebastian Keller [Thu, 31 Mar 2022 14:44:34 +0000 (16:44 +0200)]
gsk/gl: Always align offscreen rendering with the pixel grid
This fixes two issues with the offscreen rendering code for nodes with
bounds not aligned with the pixel grid:
1.) When drawing to an offscreen buffer the size of the offscreen buffer
was rounded up, but then later when used as texture the vertices
correspond to the original bounds with the unrounded size. This could
then result in the offscreen texture being drawn onscreen at a slightly
smaller size, which then lead to it being visually shifted and blurry.
This is fixed by adjusting the u/v coordinates to ignore the padding
region in the offscreen texture that got added by the size increase from
rounding.
2.) The viewport used when rendering to the offscreen buffer was not
aligned with the pixel grid for nodes at coordinates not aligned with
the pixel grid. Then because the content of the offscreen buffer is not
aligned with the pixel grid and later when used as textures sampling
from it will result in interpolated values for an onscreen pixel. This
could also result in shifting and blurriness, especially for nested
offscreen rendering at different offsets.
This is fixed by adding similar padding at the beginning of the
texture and also adjusting the u/v coordinates to ignore this region.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3833
Maximiliano Sandoval R [Mon, 4 Apr 2022 12:11:16 +0000 (14:11 +0200)]
application: Add link and inline code blocks
Maximiliano Sandoval R [Mon, 4 Apr 2022 12:10:56 +0000 (14:10 +0200)]
filter: Add link to FilterListmodel
Maximiliano Sandoval R [Mon, 4 Apr 2022 12:10:18 +0000 (14:10 +0200)]
texttag: Correct typo
Does not generate a gir docstring without it.
Matthias Clasen [Sun, 3 Apr 2022 19:53:52 +0000 (15:53 -0400)]
inspector: Avoid another crash
We need to handle all event types here.
This was tripping over GDK_TOUCHPAD_HOLD events.
Matthias Clasen [Sun, 3 Apr 2022 19:53:34 +0000 (15:53 -0400)]
inspector: Avoid a crash
Attribute lists can be NULL, it turns out.
Matthias Clasen [Sun, 3 Apr 2022 12:04:35 +0000 (08:04 -0400)]
css: Plug a memory leak
We were leaking the terms of calc values. Oops.
illiliti [Sun, 3 Apr 2022 11:55:33 +0000 (14:55 +0300)]
meson: Use proper type for bools
Fix invalid usage of bools which violates official meson specification and thus
breaks muon, an implementation of meson written in C.
Matthias Clasen [Sat, 2 Apr 2022 19:22:12 +0000 (15:22 -0400)]
imcontextsimple: Plug a memory leak
Maximiliano Sandoval R [Fri, 1 Apr 2022 11:04:14 +0000 (13:04 +0200)]
docs: Fix links in selection models
Xavier Claessens [Thu, 31 Mar 2022 15:41:34 +0000 (11:41 -0400)]
Remove #ifdef ENABLE_NLS
libintl API is guaranteed to always be available, glib will fallback to
proxy-libintl in case gettext is not found.
Dr. David Alan Gilbert [Thu, 31 Mar 2022 14:56:09 +0000 (15:56 +0100)]
x11: Check return of gdk_x11_get_xatom_name_for_display
When given an invalid atom, gdk_x11_get_xatom_name_for_display can
return NULL and trigger a seg in gdk_x11_clipboard_formats_from_atoms.
Check for NULL.
Why I'm seeing a bad atom there is probably a separate question.
https://bugzilla.redhat.com/show_bug.cgi?id=
2037786
Chun-wei Fan [Wed, 30 Mar 2022 02:23:49 +0000 (10:23 +0800)]
inspector/general.c: Check whether GL context supports WGL
We may well be using an EGL context that does not support Desktop (W)GL on
Windows, such as in the case of using libANGLE. So, check whether WGL is
supported for this running instance before trying to query WGL extensions.
This will get rid of warning messages from libepoxy.
Alexander Mikhaylenko [Sun, 27 Mar 2022 21:05:23 +0000 (01:05 +0400)]
eventcontrollerscroll: Always propagate hold events
Otherwise a stray scroll controller may prevent others from getting hold
events, even if it always propagates scroll events and does absolutely
nothing.
Christoph Reiter [Sun, 27 Mar 2022 17:08:36 +0000 (19:08 +0200)]
CI: clean up MSYS2 build dependencies
We only need a C compiler and not the whole toolchain,
and gst-plugins-bad was split into libraries and plugins.
pkg-config -> pkgconf.
This should speed the CI setup up a bit.
Matthias Clasen [Fri, 25 Mar 2022 12:35:16 +0000 (08:35 -0400)]
inspector: Allow viewing PangoAttrList properties
We have pango_attr_list_to/from_string, so this is
easy. The editing UI isn't ideal, but it solves my
immediate need to see attributes.
Christian Hergert [Thu, 24 Mar 2022 03:20:02 +0000 (20:20 -0700)]
gdk/gl: handle GL_RGBA/GL_UNSIGNED_NORMALIZED
WebKit's GTK 4 port can give us textures with an internal format of
GL_RGBA with GL_UNSIGNED_NORMALIZED and a bit-depth of 8. This fixes
warnings for every GdkGLTexture created/delivered to the GskGLRenderer.
The format is essentially the same as GL_RGBA8 since it is normalized
between 0.0..1.0 for 8-bit components.
Fixes #4783
Sebastian Keller [Tue, 22 Mar 2022 07:11:18 +0000 (08:11 +0100)]
surface: Use correct display when destroying a surface for depth switch
When surface depth switches from non-high-depth to high-depth (or vice
versa) the current surface has to be destroyed before a new one can be
created for this window. eglDestroySurface however was getting passed a
GdkDisplay, rather than the EGLDisplay it expects. As a result the old
surface did not get destroyed and the new surface could not be created
causing rendering to freeze.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4773
Christian Hergert [Tue, 22 Mar 2022 01:54:09 +0000 (18:54 -0700)]
Default: avoid use of opacity for overlay scrollbars
If using the opacity CSS property the renderer cannot optimize these
handles without the use of offscreens due to the use of both a border
and rgb render node.
Instead, we can apply the alpha to the color values and get the same
effect in a way that the GL renderer can optimize without the use of
offscreen textures for a sizeable reduction in runtime overhead.