gtk4.git
3 years agoUpdate Brazilian Portuguese translation
Rafael Fontenelle [Thu, 9 Jun 2022 23:44:08 +0000 (23:44 +0000)]
Update Brazilian Portuguese translation

3 years agoMerge branch 'hc-icontheme-for-4-6' into 'gtk-4-6'
Matthias Clasen [Wed, 8 Jun 2022 18:48:15 +0000 (18:48 +0000)]
Merge branch 'hc-icontheme-for-4-6' into 'gtk-4-6'

Don't use the HighContrast icon theme

See merge request GNOME/gtk!4805

3 years agowayland/display: Don't force HighContrast icon theme
Florian Müllner [Tue, 7 Jun 2022 17:30:10 +0000 (19:30 +0200)]
wayland/display: Don't force HighContrast icon theme

The theme is considered deprecated in favor of symbolic icons from
the regular theme.

Cherry-picked from main.

3 years agoMerge branch 'builtin-icontheme-fix-for-4-6' into 'gtk-4-6'
Matthias Clasen [Mon, 6 Jun 2022 22:25:07 +0000 (22:25 +0000)]
Merge branch 'builtin-icontheme-fix-for-4-6' into 'gtk-4-6'

Add scalable directories to the builtin hicolor index

See merge request GNOME/gtk!4797

3 years agoAdd more directories to the builtin hicolor index
Matthias Clasen [Thu, 2 Jun 2022 10:38:12 +0000 (06:38 -0400)]
Add more directories to the builtin hicolor index

We haven't had any scalable directories in this list.
Add some. Since we seem to have settled on including
just actions and status as subdirectories for each
size, add scalable/actions and scalable/status.

Fixes: #4960
3 years agoUpdate Russian translation
Aleksandr Melman [Sun, 5 Jun 2022 12:33:06 +0000 (12:33 +0000)]
Update Russian translation

3 years agoMerge branch 'wip/carlosg/activation-roundtrip-fix-4.6' into 'gtk-4-6'
Carlos Garnacho [Fri, 3 Jun 2022 11:20:39 +0000 (11:20 +0000)]
Merge branch 'wip/carlosg/activation-roundtrip-fix-4.6' into 'gtk-4-6'

gdk/wayland: Dispatch GdkAppLaunchContext activation token in its own queue

See merge request GNOME/gtk!4791

3 years agogdk/wayland: Check the GdkSurface wl_surface before using it for activation
Carlos Garnacho [Thu, 2 Jun 2022 21:05:39 +0000 (23:05 +0200)]
gdk/wayland: Check the GdkSurface wl_surface before using it for activation

Double check the GdkSurface has a wl_surface before using it as the activation
token source, since we cannot use NULL surfaces here.

Fixes: https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1862
(cherry-picked from commit 4b41d4f78ce71b60f0d51837cd1b6a1b346d679d)

3 years agogdk/wayland: Dispatch GdkAppLaunchContext activation token in its own queue
Carlos Garnacho [Thu, 2 Jun 2022 21:04:40 +0000 (23:04 +0200)]
gdk/wayland: Dispatch GdkAppLaunchContext activation token in its own queue

Use a separate queue to dispatch the token object exclusively, just like we
do on the GdkSurface activation paths.

(cherry-picked from commit fb68600d88d4d334f7da7d079b106a1ef14503a6)

3 years agoMerge branch 'fix-gtk-stack-get-page-annotation' into 'gtk-4-6'
Matthias Clasen [Thu, 2 Jun 2022 10:40:49 +0000 (10:40 +0000)]
Merge branch 'fix-gtk-stack-get-page-annotation' into 'gtk-4-6'

Fix introspection annotation for gtk_stack_get_page

See merge request GNOME/gtk!4783

3 years agoMerge branch 'fix-ui-file-translation' into 'gtk-4-6'
Matthias Clasen [Wed, 1 Jun 2022 23:00:14 +0000 (23:00 +0000)]
Merge branch 'fix-ui-file-translation' into 'gtk-4-6'

Fix ui files to work for translations

See merge request GNOME/gtk!4784

3 years agoFix ui files to work for translations
Matthias Clasen [Wed, 1 Jun 2022 18:01:21 +0000 (14:01 -0400)]
Fix ui files to work for translations

We need to keep using translatable="yes", since
that is what the installed its file is looking
for.

Fixes: #4957
3 years agoFix introspection annotation for gtk_stack_get_page
Hugo Parente Lima [Tue, 31 May 2022 23:49:58 +0000 (20:49 -0300)]
Fix introspection annotation for gtk_stack_get_page

Annotate gtk_stack_get_page return value as nullable.

Fixes #4958

3 years ago4.6.5
Matthias Clasen [Fri, 27 May 2022 12:20:10 +0000 (08:20 -0400)]
4.6.5

3 years agoMerge branch 'gtk-4-6-backports' into 'gtk-4-6'
Matthias Clasen [Mon, 30 May 2022 11:22:32 +0000 (11:22 +0000)]
Merge branch 'gtk-4-6-backports' into 'gtk-4-6'

Drop the quit-mnemonic reftest

See merge request GNOME/gtk!4775

3 years agoUpdated Lithuanian translation
Aurimas Černius [Sun, 29 May 2022 19:39:41 +0000 (22:39 +0300)]
Updated Lithuanian translation

3 years agotestsuite: Add tests for label overdraw
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.

3 years agoDrop the quit-mnemonic reftest
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.

3 years agoMerge branch 'backports-for-4-6' into 'gtk-4-6'
Matthias Clasen [Sat, 28 May 2022 15:59:03 +0000 (15:59 +0000)]
Merge branch 'backports-for-4-6' into 'gtk-4-6'

Avoid g_log_set_writer_func in tests

See merge request GNOME/gtk!4773

3 years agoAvoid g_log_set_writer_func in tests
Matthias Clasen [Sat, 28 May 2022 14:17:47 +0000 (10:17 -0400)]
Avoid g_log_set_writer_func in tests

It is not usable anymore since GLib 2.72.

3 years agobroadway: Fix gcc 12 complaining
Benjamin Otte [Sat, 14 May 2022 14:53:22 +0000 (16:53 +0200)]
broadway: Fix gcc 12 complaining

3 years agoMerge branch 'wayland-cursor-scale2-for-4-6' into 'gtk-4-6'
Matthias Clasen [Fri, 27 May 2022 17:37:53 +0000 (17:37 +0000)]
Merge branch 'wayland-cursor-scale2-for-4-6' into 'gtk-4-6'

wayland: scale cursors to the right size

See merge request GNOME/gtk!4767

3 years agowayland: scale cursors to the right size
Matthias Clasen [Fri, 27 May 2022 14:10:27 +0000 (10:10 -0400)]
wayland: scale cursors to the right size

When loading cursors at scale, we expect the
cursor images to have a size of scale * size.
If we don't find such images, load them at their
unscaled size and scale them up ourselves.

Without this, cursors will appear in unexpected
sizes depending on scales and themes.

Related: #4746

3 years agoMerge branch 'stackpage-fix-for-4-6' into 'gtk-4-6'
Matthias Clasen [Fri, 27 May 2022 12:01:18 +0000 (12:01 +0000)]
Merge branch 'stackpage-fix-for-4-6' into 'gtk-4-6'

realize stackpage accessible parent when needed

See merge request GNOME/gtk!4763

3 years agoMerge branch 'blink-assertion-for-4-6' into 'gtk-4-6'
Matthias Clasen [Fri, 27 May 2022 11:48:41 +0000 (11:48 +0000)]
Merge branch 'blink-assertion-for-4-6' into 'gtk-4-6'

Remove an assertion that we hit

See merge request GNOME/gtk!4764

3 years agoMerge branch 'wayland-cursor-scale-for-4-6' into 'gtk-4-6'
Matthias Clasen [Fri, 27 May 2022 11:48:21 +0000 (11:48 +0000)]
Merge branch 'wayland-cursor-scale-for-4-6' into 'gtk-4-6'

wayland: Sanity check cursor image size

See merge request GNOME/gtk!4762

3 years agoa11y: Realize GtkStackPage parent context before trying to get a ref
Sebastian Keller [Wed, 25 May 2022 12:56:05 +0000 (14:56 +0200)]
a11y: Realize GtkStackPage parent context before trying to get a ref

If a context is not realized, calling gtk_at_spi_context_to_ref() will
return a null ref, because its path has not been initialized yet. This
was already done for all other cases in get_parent_context_ref(), but
was missing for the GtkStackPage case.

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4944
3 years agoRemove an assertion that we hit
Matthias Clasen [Mon, 23 May 2022 12:28:00 +0000 (08:28 -0400)]
Remove an assertion that we hit

It appears that we mess up accounting for blinking
cursors sometimes, and can hit blink_cb when there
is a nonempty selection.

Instead of asserting, warn and stop blinking.

Related: #4767

3 years agowayland: Make cursors have the right size
Matthias Clasen [Fri, 27 May 2022 02:23:31 +0000 (22:23 -0400)]
wayland: Make cursors have the right size

The Wayland protocol requires that width and height
of cursor surfaces is an integer multiple of the
surface scale. Make it so.

Fixes: #4746
3 years agowayland: Sanity check cursor image size
Matthias Clasen [Fri, 27 May 2022 02:28:57 +0000 (22:28 -0400)]
wayland: Sanity check cursor image size

On Wayland it is a protocol violation to upload buffers with
dimensions that are not an integer multiple of the buffer scale.

Until recently, Mutter did not enforce this. When it started
doing so, some users started seeing crashes in GTK apps because the
cursor theme ended up with e.g. a 15x16 pixel image at scale of 2.

Add a small sanity check for this case.

3 years agoUpdate German translation
Christian Kirbach [Thu, 26 May 2022 20:16:33 +0000 (20:16 +0000)]
Update German translation

3 years agoUpdate docs/reference/gdk/gdk4-x11.toml.in
Manuel Zabelt [Tue, 24 May 2022 13:37:43 +0000 (13:37 +0000)]
Update docs/reference/gdk/gdk4-x11.toml.in

3 years agoGDK is LGPL-2.1-or-later not GPL-2.1-or-later, right?
Manuel Zabelt [Tue, 24 May 2022 13:36:07 +0000 (13:36 +0000)]
GDK is LGPL-2.1-or-later not GPL-2.1-or-later, right?

3 years agobuild: fix sysprof default options
Christian Hergert [Thu, 26 May 2022 05:52:34 +0000 (22:52 -0700)]
build: fix sysprof default options

Sysprof just recently cleaned up it's meson_options.txt and this makes
the tracking of the master branch match the new values.

3 years agoMerge branch 'cherry-pick-21349009' into 'gtk-4-6'
Benjamin Otte [Thu, 26 May 2022 12:17:50 +0000 (12:17 +0000)]
Merge branch 'cherry-pick-21349009' into 'gtk-4-6'

x11: Always update shadow size

See merge request GNOME/gtk!4760

3 years agox11: Always update shadow size
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

(cherry picked from commit 213490099b7d24664ac635f25c9cf224d6a3e702)

3 years agoUpdate German translation
Christian Kirbach [Sun, 22 May 2022 10:41:16 +0000 (10:41 +0000)]
Update German translation

3 years agoUpdate Brazilian Portuguese translation
Rafael Fontenelle [Tue, 17 May 2022 07:54:22 +0000 (07:54 +0000)]
Update Brazilian Portuguese translation

3 years agoUpdate Russian translation
Aleksandr Melman [Sun, 15 May 2022 14:18:48 +0000 (14:18 +0000)]
Update Russian translation

3 years agoUpdate Polish translation
Piotr Drąg [Sun, 15 May 2022 11:48:01 +0000 (13:48 +0200)]
Update Polish translation

3 years agoUpdate Turkish translation
Emin Tufan Çetin [Sun, 15 May 2022 11:04:01 +0000 (11:04 +0000)]
Update Turkish translation

3 years agoUpdate Persian translation
Danial Behzadi [Sun, 15 May 2022 06:30:26 +0000 (06:30 +0000)]
Update Persian translation

3 years agoUpdate Portuguese translation
Hugo Carvalho [Sat, 14 May 2022 17:18:42 +0000 (17:18 +0000)]
Update Portuguese translation

3 years agoUpdate Ukrainian translation
Yuri Chornoivan [Sat, 14 May 2022 12:19:15 +0000 (12:19 +0000)]
Update Ukrainian translation

3 years agoUpdate Swedish translation
Anders Jonsson [Sat, 14 May 2022 10:03:33 +0000 (10:03 +0000)]
Update Swedish translation

3 years agoMerge branch 'cherry-pick-4f2b1b3c' into 'gtk-4-6'
Matthias Clasen [Sat, 14 May 2022 00:41:32 +0000 (00:41 +0000)]
Merge branch 'cherry-pick-4f2b1b3c' into 'gtk-4-6'

egl: Fix invalid format string

See merge request GNOME/gtk!4727

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)

3 years agoMerge branch 'backport-mr-4723-to-gtk-4-6' into 'gtk-4-6'
Luca Bacci [Fri, 13 May 2022 20:35:49 +0000 (20:35 +0000)]
Merge branch 'backport-mr-4723-to-gtk-4-6' into 'gtk-4-6'

GtkFileChooserWidget: Propagate keys from external entry to fcwidget at the BUBBLE phase

See merge request GNOME/gtk!4726

3 years agoGtkFileChooserWidget: Propagate keys from external entry to fcwidget at the BUBBLE...
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

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

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 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 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 Hebrew translation
Yosef Or Boczko [Wed, 27 Apr 2022 14:19:20 +0000 (14:19 +0000)]
Update Hebrew translation

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 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.