gtk4.git
3 years agoegl: Fix invalid format string
Loïc Minier [Wed, 11 May 2022 19:43:04 +0000 (19:43 +0000)]
egl: Fix invalid format string

(cherry picked from commit 4f2b1b3cfcf1f11f14993656c21105bbbb9432d7)

Gbp-Pq: Name egl-Fix-invalid-format-string.patch

3 years agoRelease to unstable
Simon McVittie [Sat, 14 May 2022 23:27:07 +0000 (00:27 +0100)]
Release to unstable

3 years agoUpdate changelog
Simon McVittie [Sat, 14 May 2022 23:21:59 +0000 (00:21 +0100)]
Update changelog

3 years agod/control.in: Drop build-dependencies that were only there for gi-docgen
Simon McVittie [Sat, 14 May 2022 16:12:42 +0000 (17:12 +0100)]
d/control.in: Drop build-dependencies that were only there for gi-docgen

Now that we're using the packaged gi-docgen instead of the bundled copy,
there's no need to depend on its dependencies explicitly.

3 years agoMove gi-docgen to Build-Depends-Indep
Simon McVittie [Sat, 14 May 2022 16:11:58 +0000 (17:11 +0100)]
Move gi-docgen to Build-Depends-Indep

We correctly disable the gi-docgen-generated documentation when only
building architecture-dependent packages.

3 years agod/rules: Work around llvmpipe segfault on mipsel by forcing softpipe
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

3 years agod/rules, d/run-tests.sh: Move loop through backends into run-tests.sh
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.

3 years agod/rules: Stop skipping ngl tests on big-endian machines
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.

3 years agoreleasing package gtk4 version 4.6.4+ds-2
Jeremy Bicha [Sat, 14 May 2022 14:05:57 +0000 (10:05 -0400)]
releasing package gtk4 version 4.6.4+ds-2

3 years agoCherry-pick patch to fix pasting into the filechooser name field
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

3 years agoreleasing package gtk4 version 4.6.4+ds-1
Jeremy Bicha [Fri, 13 May 2022 20:29:10 +0000 (16:29 -0400)]
releasing package gtk4 version 4.6.4+ds-1

3 years agoDrop patches applied in new release
Jeremy Bicha [Fri, 13 May 2022 20:04:50 +0000 (16:04 -0400)]
Drop patches applied in new release

3 years agoNew upstream release
Jeremy Bicha [Fri, 13 May 2022 20:02:01 +0000 (16:02 -0400)]
New upstream release

3 years agoUpdate upstream source from tag 'upstream/4.6.4+ds'
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

3 years agoNew upstream version 4.6.4+ds
Jeremy Bicha [Fri, 13 May 2022 20:01:20 +0000 (16:01 -0400)]
New upstream version 4.6.4+ds

3 years agoUse gi-docgen to build docs
Jeremy Bicha [Fri, 13 May 2022 19:55:22 +0000 (15:55 -0400)]
Use gi-docgen to build docs

3 years ago4.6.4
Matthias Clasen [Fri, 13 May 2022 17:58:42 +0000 (13:58 -0400)]
4.6.4

3 years agoCherry-pick patch to fix an invalid format string
Jeremy Bicha [Thu, 12 May 2022 15:36:17 +0000 (11:36 -0400)]
Cherry-pick patch to fix an invalid format string

3 years agoactionmuxer: check for observer before unregistering
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

3 years agoactionmuxer: set handler ids initially to zero
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.

3 years agogdk/wayland: freeze popups when hidden
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.

3 years agoprintdialog: Handle nonexisting files better
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.

3 years agogsk: Check for half float support
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

3 years agoreleasing package gtk4 version 4.6.3+ds1-2
Jeremy Bicha [Mon, 9 May 2022 20:48:21 +0000 (16:48 -0400)]
releasing package gtk4 version 4.6.3+ds1-2

3 years agoCherry-pick gtk-4-6 patch needed for mutter 42.1
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

3 years agoMerge branch 'wip/carlosg/ignore-null-preedit-4.6' into 'gtk-4-6'
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

3 years agoimcontextwayland: Ignore preedit updates from NULL to NULL
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)

3 years agoUpdate Nepali translation
Pawan Chitrakar [Mon, 9 May 2022 10:44:41 +0000 (10:44 +0000)]
Update Nepali translation

3 years agoUpdate Nepali translation
Pawan Chitrakar [Sun, 8 May 2022 08:44:53 +0000 (08:44 +0000)]
Update Nepali translation

3 years agolistitemwidget: Avoid some unnecessary work
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.

3 years agolist-item: Use notify_by_pspec instead of by name
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

3 years agolistitemfactory: Track notify manually instead of freeze/thaw
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

3 years agoDon't invalidate parent if it didn't change
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

3 years agogdk: Check OES_vertex_half_float GLES extension
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.

3 years agoRelease to unstable
Simon McVittie [Wed, 4 May 2022 10:30:30 +0000 (11:30 +0100)]
Release to unstable

3 years agoUnfuzz gi-docgen patches
Simon McVittie [Wed, 4 May 2022 10:28:03 +0000 (11:28 +0100)]
Unfuzz gi-docgen patches

3 years agoUpdate changelog
Simon McVittie [Wed, 4 May 2022 10:01:59 +0000 (11:01 +0100)]
Update changelog

3 years agoNew upstream release
Simon McVittie [Wed, 4 May 2022 10:00:20 +0000 (11:00 +0100)]
New upstream release

3 years agoUpdate upstream source from tag 'upstream/4.6.3+ds1'
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

3 years agoNew upstream version 4.6.3+ds1
Simon McVittie [Wed, 4 May 2022 09:59:32 +0000 (10:59 +0100)]
New upstream version 4.6.3+ds1

3 years agod/copyright: No need to exclude subprojects/wayland any more
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.

3 years agod/copyright: Exclude gtk/theme/Default/Default-*.css
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.

3 years agoRevert "d/control.in: Use system copy of gi-docgen"
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.

3 years agoRevert "Drop gi-docgen patches"
Simon McVittie [Wed, 4 May 2022 09:56:23 +0000 (10:56 +0100)]
Revert "Drop gi-docgen patches"

This reverts commit f0e8b0aa9adb9028f1ed10e537dcadd04de373d1.

3 years agoRevert "d/copyright: Drop gi-docgen stanzas"
Simon McVittie [Wed, 4 May 2022 09:56:14 +0000 (10:56 +0100)]
Revert "d/copyright: Drop gi-docgen stanzas"

This reverts commit ae665cf29ad336721257d8118e1216c59270f462.

3 years agoUpdate changelog
Simon McVittie [Wed, 4 May 2022 09:55:27 +0000 (10:55 +0100)]
Update changelog

3 years agoIgnore unaligned-offscreen GSK comparison test
Simon McVittie [Wed, 4 May 2022 09:36:51 +0000 (10:36 +0100)]
Ignore unaligned-offscreen GSK comparison test

Workaround for GNOME/gtk#4889.

3 years agod/rules, d/run-tests.sh: Add infrastructure to ignore failing GSK tests
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.

3 years agod/log-reftests.py: Update names of GSK renderers
Simon McVittie [Wed, 4 May 2022 09:35:04 +0000 (10:35 +0100)]
d/log-reftests.py: Update names of GSK renderers

3 years agoUpdate to upstream gtk-4-6 branch commit 4.6.3-9-g045446c3da
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

3 years agoMerge branch 'backport-mr-4678-gtk-4-6' into 'gtk-4-6'
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

3 years agoGtkFileChooserWidget: return empty GListModel in get_files () instead of NULL
Luca Bacci [Sun, 1 May 2022 14:41:10 +0000 (16:41 +0200)]
GtkFileChooserWidget: return empty GListModel in get_files () instead of NULL

3 years agoGtkFileChooserWidget: check for empty instead of NULL GListModel
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

3 years agoMerge branch 'wip/sophie-h/cherry-pick-filechooser' into 'gtk-4-6'
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

3 years agofilechooser: Small fix for select folder mode
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

3 years agoUpdate changelog
Simon McVittie [Wed, 27 Apr 2022 14:24:38 +0000 (15:24 +0100)]
Update changelog

3 years agod/control.in: Use system copy of gi-docgen
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.

3 years agod/copyright: Drop gi-docgen stanzas
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.

3 years agoDrop gi-docgen patches
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.

3 years agoUpdate Hebrew translation
Yosef Or Boczko [Wed, 27 Apr 2022 14:19:20 +0000 (14:19 +0000)]
Update Hebrew translation

3 years agoNew upstream release
Simon McVittie [Wed, 27 Apr 2022 14:14:50 +0000 (15:14 +0100)]
New upstream release

3 years agoUpdate upstream source from tag 'upstream/4.6.3+ds'
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

3 years agoNew upstream version 4.6.3+ds
Simon McVittie [Wed, 27 Apr 2022 14:14:14 +0000 (15:14 +0100)]
New upstream version 4.6.3+ds

3 years agoUpdate Hebrew translation
Yaron Shahrabani [Wed, 27 Apr 2022 12:00:13 +0000 (12:00 +0000)]
Update Hebrew translation

3 years agoMerge branch 'cherry-pick-515b1f52' into 'gtk-4-6'
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

3 years agoboxlayout: Do not infloop
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)

3 years agoRefresh patch series
Simon McVittie [Sun, 24 Apr 2022 11:34:15 +0000 (12:34 +0100)]
Refresh patch series

Gbp-Dch: ignore

3 years ago4.6.3
Matthias Clasen [Fri, 22 Apr 2022 00:58:13 +0000 (20:58 -0400)]
4.6.3

3 years agotheme: Fix vertical spin button selection
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
3 years agoQuench the anger of GCC
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]

3 years agoFix file filter buildable support
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
3 years agodocs: Fix typo in description of GtkExpression
Marcel Tiede [Mon, 18 Apr 2022 06:20:19 +0000 (06:20 +0000)]
docs: Fix typo in description of GtkExpression

3 years agoscrolledwindow: Pick up gtk-overlay-scrolling changes on the fly
Alexander Mikhaylenko [Sat, 16 Apr 2022 12:56:17 +0000 (16:56 +0400)]
scrolledwindow: Pick up gtk-overlay-scrolling changes on the fly

3 years agoscrolledwindow: Fix :kinetic-scrolling setter
Alexander Mikhaylenko [Sat, 16 Apr 2022 12:30:07 +0000 (16:30 +0400)]
scrolledwindow: Fix :kinetic-scrolling setter

3 years agotooltipwindow: Don't restrict minimum tooltip label length
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

3 years agotooltipwindow: Remove a duplicate gtk_widget_class_set_css_name() call
Alexander Mikhaylenko [Fri, 15 Apr 2022 23:28:22 +0000 (03:28 +0400)]
tooltipwindow: Remove a duplicate gtk_widget_class_set_css_name() call

3 years agoMark nullable arguments in GtkPaned
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.

3 years agodocs: Fix the GtkPaned style
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.

3 years agolabel: Move focus out of widget after last link
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
3 years agolabel: Maintain value for `has-tooltip` for labels with links
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`.

3 years agoscrollable: Clarify when to set adjustment props
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.

3 years agogsk/gl: Typo fix
Matthias Clasen [Fri, 8 Apr 2022 15:18:15 +0000 (11:18 -0400)]
gsk/gl: Typo fix

3 years agogtk-demo: Small fixup to the cursors demo
Matthias Clasen [Sun, 5 Dec 2021 03:16:01 +0000 (22:16 -0500)]
gtk-demo: Small fixup to the cursors demo

3 years agoimwayland: Do not defer commit() after set_surrounding_text()
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.

3 years agoimwayland: Connect OSK activating gesture to parent widget on editables
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
3 years agotestsuite: Add unaligned-offscreen test
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.

3 years agogsk/gl: Always align offscreen rendering with the pixel grid
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
3 years agoapplication: Add link and inline code blocks
Maximiliano Sandoval R [Mon, 4 Apr 2022 12:11:16 +0000 (14:11 +0200)]
application: Add link and inline code blocks

3 years agofilter: Add link to FilterListmodel
Maximiliano Sandoval R [Mon, 4 Apr 2022 12:10:56 +0000 (14:10 +0200)]
filter: Add link to FilterListmodel

3 years agotexttag: Correct typo
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.

3 years agoinspector: Avoid another crash
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.

3 years agoinspector: Avoid a crash
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.

3 years agocss: Plug a memory leak
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.

3 years agomeson: Use proper type for bools
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.

3 years agoimcontextsimple: Plug a memory leak
Matthias Clasen [Sat, 2 Apr 2022 19:22:12 +0000 (15:22 -0400)]
imcontextsimple: Plug a memory leak

3 years agodocs: Fix links in selection models
Maximiliano Sandoval R [Fri, 1 Apr 2022 11:04:14 +0000 (13:04 +0200)]
docs: Fix links in selection models

3 years agoRemove #ifdef ENABLE_NLS
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.

3 years agox11: Check return of gdk_x11_get_xatom_name_for_display
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

3 years agoinspector/general.c: Check whether GL context supports WGL
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.

3 years agoeventcontrollerscroll: Always propagate hold events
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.