gtk4.git
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 agoMerge branch 'ebassi/for-main' into 'main'
Matthias Clasen [Fri, 15 Apr 2022 00:09:42 +0000 (00:09 +0000)]
Merge branch 'ebassi/for-main' into 'main'

docs: Fix the GtkPaned style

See merge request GNOME/gtk!4637

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 agoMerge branch 'fix_tooltip' into 'main'
Matthias Clasen [Thu, 14 Apr 2022 18:00:43 +0000 (18:00 +0000)]
Merge branch 'fix_tooltip' into 'main'

label: Maintain value for `has-tooltip` for labels with links

See merge request GNOME/gtk!4635

3 years agoMerge branch 'fix_link_tabs' into 'main'
Matthias Clasen [Thu, 14 Apr 2022 11:36:19 +0000 (11:36 +0000)]
Merge branch 'fix_link_tabs' into 'main'

label: Move focus out of widget after last link

Closes #4681

See merge request GNOME/gtk!4636

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 agoMerge branch 'clarify-scrollable-docs' into 'main'
Benjamin Otte [Tue, 12 Apr 2022 23:48:55 +0000 (23:48 +0000)]
Merge branch 'clarify-scrollable-docs' into 'main'

scrollable: Clarify when to set adjustment props

See merge request GNOME/gtk!4632

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 agoMerge branch 'gles-win32' into 'main'
Benjamin Otte [Fri, 8 Apr 2022 22:00:33 +0000 (22:00 +0000)]
Merge branch 'gles-win32' into 'main'

Inspector: Fix running on Windows with GLES (was: fix running GL demos with GLES on Windows)

See merge request GNOME/gtk!4595

3 years agoMerge branch 'matthiasc/for-main' into 'main'
Matthias Clasen [Fri, 8 Apr 2022 16:14:43 +0000 (16:14 +0000)]
Merge branch 'matthiasc/for-main' into 'main'

gsk/gl: Typo fix

See merge request GNOME/gtk!4628

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 agoMerge branch 'gdk-win32-fix-mouse-move-crossing-events' into 'main'
Luca Bacci [Fri, 8 Apr 2022 08:31:14 +0000 (08:31 +0000)]
Merge branch 'gdk-win32-fix-mouse-move-crossing-events' into 'main'

GdkWin32: Mouse events fixes

Closes #4722 and #4813

See merge request GNOME/gtk!4620

3 years agoMerge branch 'nonoverlapping-containers' into 'main'
Matthias Clasen [Thu, 7 Apr 2022 14:32:53 +0000 (14:32 +0000)]
Merge branch 'nonoverlapping-containers' into 'main'

gsk/gl: Avoid offscreening in more cases

See merge request GNOME/gtk!4619

3 years agoMerge branch 'n-docs-fixes' into 'main'
Matthias Clasen [Thu, 7 Apr 2022 14:05:40 +0000 (14:05 +0000)]
Merge branch 'n-docs-fixes' into 'main'

More doc fixes

See merge request GNOME/gtk!4618

3 years agoMerge branch 'matthiasc/for-main' into 'main'
Matthias Clasen [Thu, 7 Apr 2022 11:46:11 +0000 (11:46 +0000)]
Merge branch 'matthiasc/for-main' into 'main'

gl: Don't leak big glyphs

See merge request GNOME/gtk!4626

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 agoGdkWin32: Generate crossing event after button release
Luca Bacci [Wed, 6 Apr 2022 18:01:51 +0000 (20:01 +0200)]
GdkWin32: Generate crossing event after button release

Fixes #4813

3 years agoGdkWin32: Correct generation of crossing events when holding an implicit grab
Luca Bacci [Mon, 4 Apr 2022 13:29:52 +0000 (15:29 +0200)]
GdkWin32: Correct generation of crossing events when holding an implicit grab

Fixes #4722

3 years agoGdkWin32: Report serial for events
Luca Bacci [Wed, 6 Apr 2022 17:45:50 +0000 (19:45 +0200)]
GdkWin32: Report serial for events

3 years agoMerge branch 'push-history-position-fix' into 'main'
Matthias Clasen [Wed, 6 Apr 2022 15:56:26 +0000 (15:56 +0000)]
Merge branch 'push-history-position-fix' into 'main'

gdk: always populate GDK_AXIS_{X,Y} in merged event history

Closes #4809

See merge request GNOME/gtk!4623

3 years agoMerge branch 'wip/carlosg/osk-activation' into 'main'
Matthias Clasen [Wed, 6 Apr 2022 15:44:43 +0000 (15:44 +0000)]
Merge branch 'wip/carlosg/osk-activation' into 'main'

imwayland: Connect OSK activating gesture to parent widget on editables

Closes #4795

See merge request GNOME/gtk!4624

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 agogdk: always populate GDK_AXIS_{X,Y} in merged event history
Hemidark [Tue, 5 Apr 2022 21:56:33 +0000 (14:56 -0700)]
gdk: always populate GDK_AXIS_{X,Y} in merged event history

Since GdkTimeCoord stores only axis values, prior to this change,
if a device didn't report GDK_AXIS_X or GDK_AXIS_Y, the history
attached to merged motion events wouldn't contain any positional
information.

Commit 6012276093ea10dc0913c38d9123c37b08a20264 already addressed
this issue for devices without tools by storing the event position
in GdkTimeCoord using GDK_AXIS_X and GDK_AXIS_Y and augmenting the
GdkTimeCoord's axis bitmask accordingly.

This change generalizes that workaround to all devices. Note that
if a device DOES report values for GDK_AXIS_X and GDK_AXIS_Y, those
values won't be overwritten.

Closes #4809

3 years agogsk/gl: Use pre-collected opacity information
Matthias Clasen [Sun, 3 Apr 2022 23:37:42 +0000 (19:37 -0400)]
gsk/gl: Use pre-collected opacity information

We now collect this information during node
construction, so use it here.

The concrete change here is that we now avoid
offscreens for container nodes with multiple children,
as long as they don't overlap. In particular, this
avoid offscreens for ellipsized dim labels.

3 years agogsk: Collect opacity information
Matthias Clasen [Tue, 5 Apr 2022 18:55:36 +0000 (14:55 -0400)]
gsk: Collect opacity information

Collect information about whether to use offscreens
for opacity during node construction, so we don't
need to walk the tree repeatedly, later.

3 years agogsk: Track disjointness of container nodes
Matthias Clasen [Sun, 3 Apr 2022 23:28:53 +0000 (19:28 -0400)]
gsk: Track disjointness of container nodes

This can be used to optimize some things in the
GL renderer.

3 years agoMerge branch 'blurry-offscreen' into 'main'
Matthias Clasen [Tue, 5 Apr 2022 12:25:59 +0000 (12:25 +0000)]
Merge branch 'blurry-offscreen' into 'main'

gsk/gl: Always align offscreen rendering with the pixel grid

Closes #3833

See merge request GNOME/gtk!4621

3 years agoMerge branch 'matthiasc/for-main' into 'main'
Matthias Clasen [Tue, 5 Apr 2022 03:15:53 +0000 (03:15 +0000)]
Merge branch 'matthiasc/for-main' into 'main'

gl: Don't leak big glyphs

See merge request GNOME/gtk!4622

3 years agogl: Don't leak big glyphs
Matthias Clasen [Mon, 4 Apr 2022 00:25:22 +0000 (20:25 -0400)]
gl: Don't leak big glyphs

We were never resetting the accessed bit of
glyphs that are big enough to be stored individually,
so these would just accumulate and never be dropped.

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 agoMerge branch 'sumibi-yakitori/fix-minimize-window-macos' into 'main'
Christian Hergert [Mon, 4 Apr 2022 18:53:19 +0000 (18:53 +0000)]
Merge branch 'sumibi-yakitori/fix-minimize-window-macos' into 'main'

macos: Fix problem that window cannot be minimized by user operation

Closes #4811

See merge request GNOME/gtk!4613

3 years agomacos: Skip running `showAndMakeKey` when a window is minimized by user action
sumibi-yakitori [Sat, 2 Apr 2022 12:29:27 +0000 (21:29 +0900)]
macos: Skip running `showAndMakeKey` when a window is minimized by user action

When a window is minimized by user action, the `showAndMakeKey` method is not executed when idle. This prevents the window from being un-minimized immediately.
And allow programmatic minimization of a window by un-minimizing them in `_gdk_macos_toplevel_surface_present`

Closes #4811

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 agogl: Don't leak big glyphs
Matthias Clasen [Mon, 4 Apr 2022 00:25:22 +0000 (20:25 -0400)]
gl: Don't leak big glyphs

We were never resetting the accessed bit of
glyphs that are big enough to be stored individually,
so these would just accumulate and never be dropped.

3 years agoMerge branch 'sumibi-yakitori/fix-maximize-window-macos' into 'main'
Christian Hergert [Sun, 3 Apr 2022 22:14:52 +0000 (22:14 +0000)]
Merge branch 'sumibi-yakitori/fix-maximize-window-macos' into 'main'

macos: prohibit fullscreen transition if in transtion

This prevents performing additional fullscreen transitions while
a transition is already in progress.

Closes #4808

See merge request GNOME/gtk!4612

3 years agomacos: prohibit fullscreen transition if in transtion
sumibi-yakitori [Sun, 3 Apr 2022 22:14:52 +0000 (22:14 +0000)]
macos: prohibit fullscreen transition if in transtion

This prevents performing additional fullscreen transitions while
a transition is already in progress.

3 years agoMerge branch 'matthiasc/for-main' into 'main'
Matthias Clasen [Sun, 3 Apr 2022 20:11:29 +0000 (20:11 +0000)]
Merge branch 'matthiasc/for-main' into 'main'

inspector: Avoid a crash

See merge request GNOME/gtk!4617

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 agoMerge branch 'matthiasc/for-main' into 'main'
Matthias Clasen [Sun, 3 Apr 2022 14:21:13 +0000 (14:21 +0000)]
Merge branch 'matthiasc/for-main' into 'main'

gsk: Plug a memory leak

See merge request GNOME/gtk!4616

3 years agoMerge branch 'meson_fixes' into 'main'
Matthias Clasen [Sun, 3 Apr 2022 12:41:14 +0000 (12:41 +0000)]
Merge branch 'meson_fixes' into 'main'

meson: Use proper type for bools

See merge request GNOME/gtk!4615

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 agogsk: Plug a memory leak
Matthias Clasen [Sun, 3 Apr 2022 11:34:09 +0000 (07:34 -0400)]
gsk: Plug a memory leak

This was introduced in 9defc7fc647.

3 years agoMerge branch 'matthiasc/for-main' into 'main'
Matthias Clasen [Sat, 2 Apr 2022 19:47:03 +0000 (19:47 +0000)]
Merge branch 'matthiasc/for-main' into 'main'

imcontextsimple: Plug a memory leak

See merge request GNOME/gtk!4614

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 agoMerge branch 'selection-model-docs' into 'main'
Emmanuele Bassi [Fri, 1 Apr 2022 11:20:11 +0000 (11:20 +0000)]
Merge branch 'selection-model-docs' into 'main'

docs: Fix links in selection models

See merge request GNOME/gtk!4609

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 agoUpdate Indonesian translation
Andika Triwidada [Fri, 1 Apr 2022 03:56:36 +0000 (03:56 +0000)]
Update Indonesian translation

3 years agoMerge branch 'clipboard-seg' into 'main'
Matthias Clasen [Fri, 1 Apr 2022 00:56:32 +0000 (00:56 +0000)]
Merge branch 'clipboard-seg' into 'main'

x11: Check return of gdk_x11_get_xatom_name_for_display

See merge request GNOME/gtk!4607

3 years agoMerge branch 'fix-win32-empty-clipboard' into 'main'
Matthias Clasen [Fri, 1 Apr 2022 00:56:02 +0000 (00:56 +0000)]
Merge branch 'fix-win32-empty-clipboard' into 'main'

gdkclipboard-win32.c: Fix call to gdk_clipboard_claim_remote() (check GdkContentFormat is not NULL

Closes #4796

See merge request GNOME/gtk!4604

3 years agoMerge branch 'nls' into 'main'
Matthias Clasen [Thu, 31 Mar 2022 17:07:37 +0000 (17:07 +0000)]
Merge branch 'nls' into 'main'

Remove #ifdef ENABLE_NLS

See merge request GNOME/gtk!4606

3 years agoMerge branch 'wip/carlosg/immulticontext-display-switch' into 'main'
Matthias Clasen [Thu, 31 Mar 2022 16:29:38 +0000 (16:29 +0000)]
Merge branch 'wip/carlosg/immulticontext-display-switch' into 'main'

gtkimmulticontext: Handle switches between displays

Closes #4805

See merge request GNOME/gtk!4605

3 years agoMerge branch 'msys2-ci-cleanup' into 'main'
Christoph Reiter [Thu, 31 Mar 2022 15:46:54 +0000 (15:46 +0000)]
Merge branch 'msys2-ci-cleanup' into 'main'

CI: clean up MSYS2 build dependencies

See merge request GNOME/gtk!4600

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 agogtkimmulticontext: Handle switches between displays
Carlos Garnacho [Thu, 31 Mar 2022 14:29:34 +0000 (16:29 +0200)]
gtkimmulticontext: Handle switches between displays

Currently the GtkIMMultiContext may stick to a delegate GtkIMContext
that no longer applies after the multicontext is dissociated from
any widget.

Handle set_client_widget() so that it can handle changes between
widgets from 2 different display, but also so the delegate is made
NULL whenever the context has a NULL widget.

Doing so, any new client widget results in a new delegate IM context
lookup from the right GdkDisplay and GtkSettings, which avoids any
mix up.

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4805
3 years agogdkclipboard-win32.c: Fix call to gdk_clipboard_claim_remote()
Chun-wei Fan [Thu, 31 Mar 2022 02:36:45 +0000 (10:36 +0800)]
gdkclipboard-win32.c: Fix call to gdk_clipboard_claim_remote()

The call to gdk_win32_clipboard_request_contentformats() can return NULL even
without an error condition being hit (such as when the system clipboard is
empty), so check whether the returned GdkContentFormat pointer is not NULL
before calling gdk_clipboard_claim_remote(), which expects it to be not NULL,
otherwise we face a warning from that funtion and the subsequent
g_object_unref().

This at least partially fixes issue #4796.

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 agoMerge branch 'wip/exalm/scroll-hold' into 'main'
Carlos Garnacho [Mon, 28 Mar 2022 14:27:55 +0000 (14:27 +0000)]
Merge branch 'wip/exalm/scroll-hold' into 'main'

eventcontrollerscroll: Always propagate hold events

See merge request GNOME/gtk!4599

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.

3 years agoUpdate Latvian translation
Rūdolfs Mazurs [Sun, 27 Mar 2022 20:19:10 +0000 (20:19 +0000)]
Update Latvian translation

(cherry picked from commit 3b50f2e8b996f92f49d2974ccff2b160905e8e73)

3 years agoUpdate Latvian translation
Rūdolfs Mazurs [Sun, 27 Mar 2022 19:53:51 +0000 (19:53 +0000)]
Update Latvian translation

(cherry picked from commit d4dd7969d64c85984d6dd1e3535347b1669ecfff)

3 years agoCI: clean up MSYS2 build dependencies
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.

3 years agoMerge branch 'antoniof-main-patch-34986' into 'main'
Emmanuele Bassi [Sun, 27 Mar 2022 16:25:50 +0000 (16:25 +0000)]
Merge branch 'antoniof-main-patch-34986' into 'main'

overlaylayout: Set position style class on child

Closes nautilus#2099

See merge request GNOME/gtk!4597

3 years agooverlaylayout: Set position style class on child
António Fernandes [Sun, 27 Mar 2022 14:59:10 +0000 (14:59 +0000)]
overlaylayout: Set position style class on child

As documented:
> Overlay children whose alignments cause them to be positioned
> at an edge get the style classes “.left”, “.right”, “.top”,
> and/or “.bottom” according to their position.

Likely accidental regression in b7ee2cbc289b4ab8a950cd77bdcd69a6f13932a7

Fixes https://gitlab.gnome.org/GNOME/nautilus/-/issues/2099

3 years agoMerge branch 'inspector-attributes' into 'main'
Matthias Clasen [Fri, 25 Mar 2022 13:03:00 +0000 (13:03 +0000)]
Merge branch 'inspector-attributes' into 'main'

inspector: Allow viewing PangoAttrList properties

See merge request GNOME/gtk!4596

3 years agoinspector: Allow viewing PangoAttrList properties
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.

3 years agoMerge branch 'main' into 'main'
Matthias Clasen [Fri, 25 Mar 2022 11:48:28 +0000 (11:48 +0000)]
Merge branch 'main' into 'main'

Check for 'rst2man' misses installed 'rst2man.py' (#4728)

See merge request GNOME/gtk!4586

3 years agoMerge branch 'wip/chergert/fix-gl-rgba' into 'main'
Benjamin Otte [Fri, 25 Mar 2022 01:34:15 +0000 (01:34 +0000)]
Merge branch 'wip/chergert/fix-gl-rgba' into 'main'

gdk/gl: handle GL_RGBA/GL_UNSIGNED_NORMALIZED

Closes #4783

See merge request GNOME/gtk!4594

3 years agogdk/gl: handle GL_RGBA/GL_UNSIGNED_NORMALIZED
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

3 years agoMerge branch 'want_prepare_without_play_for_size' into 'main'
Matthias Clasen [Thu, 24 Mar 2022 19:19:01 +0000 (19:19 +0000)]
Merge branch 'want_prepare_without_play_for_size' into 'main'

GtkMediaStream with gstreamer backend isn't 'prepared' until media is played

See merge request GNOME/gtk!4560

3 years agoApply 1 suggestion(s) to 1 file(s)
Matthias Clasen [Thu, 24 Mar 2022 17:16:11 +0000 (17:16 +0000)]
Apply 1 suggestion(s) to 1 file(s)

3 years agoUpdate British English translation
Bruce Cowan [Thu, 24 Mar 2022 13:19:20 +0000 (13:19 +0000)]
Update British English translation

(cherry picked from commit dd198cfc065f616d0729e1e02bf5773085dcd014)

3 years agoUpdate Indonesian translation
Kukuh Syafaat [Wed, 23 Mar 2022 15:39:17 +0000 (15:39 +0000)]
Update Indonesian translation

3 years agoUpdate Indonesian translation
Kukuh Syafaat [Wed, 23 Mar 2022 13:46:25 +0000 (13:46 +0000)]
Update Indonesian translation

3 years agoMerge branch 'fix-popover-menu-rtl-position' into 'main'
Matthias Clasen [Wed, 23 Mar 2022 02:16:41 +0000 (02:16 +0000)]
Merge branch 'fix-popover-menu-rtl-position' into 'main'

popover-menu: Fix buttons' position in RTL

See merge request GNOME/gtk!4587

3 years agoUpdate Chinese (Taiwan) translation
Cheng-Chia Tseng [Tue, 22 Mar 2022 14:47:50 +0000 (14:47 +0000)]
Update Chinese (Taiwan) translation

3 years agoMerge branch 'wip/chergert/reduce-overlay-overhead' into 'main'
Matthias Clasen [Tue, 22 Mar 2022 13:27:54 +0000 (13:27 +0000)]
Merge branch 'wip/chergert/reduce-overlay-overhead' into 'main'

Default: avoid use of opacity for overlay scrollbars

See merge request GNOME/gtk!4590

3 years agoMerge branch 'fix-high-depth-switch' into 'main'
Matthias Clasen [Tue, 22 Mar 2022 12:58:07 +0000 (12:58 +0000)]
Merge branch 'fix-high-depth-switch' into 'main'

surface: Use correct display when destroying a surface for depth switch

Closes #4773

See merge request GNOME/gtk!4591

3 years agosurface: Use correct display when destroying a surface for depth switch
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
3 years agoDefault: avoid use of opacity for overlay scrollbars
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.

3 years agoUpdated Czech translation
Marek Černocký [Mon, 21 Mar 2022 13:57:35 +0000 (14:57 +0100)]
Updated Czech translation

3 years agoUpdated Czech translation
Marek Černocký [Mon, 21 Mar 2022 11:14:36 +0000 (12:14 +0100)]
Updated Czech translation

3 years agopopover-menu: Fix buttons' position in RTL
Yosef Or Boczko [Sat, 19 Mar 2022 22:43:57 +0000 (00:43 +0200)]
popover-menu: Fix buttons' position in RTL

The radio/check/previous buttons shows in
the wrong place in RTL. Fix it.

#4641

Signed-off-by: Yosef Or Boczko <yoseforb@gmail.com>
3 years agoCheck for 'rst2man' misses installed 'rst2man.py' (#4728)
aneejit1 [Sat, 19 Mar 2022 10:41:32 +0000 (10:41 +0000)]
Check for 'rst2man' misses installed 'rst2man.py' (#4728)

By default, 'docutils' installs 'rst2man' as 'rst2man.py'. Amend the
check for 'rst2man' to look for 'rst2man.py' as well if 'rst2man' is
not found.

3 years agoUpdate German translation
Philipp Kiemle [Sat, 19 Mar 2022 12:32:20 +0000 (12:32 +0000)]
Update German translation

(cherry picked from commit d9c39f67954921eb2dab4cb5d044eacd4ee4297d)

3 years agoMerge branch 'wip/carlosg/fix-accumulated-velocity' into 'main'
Carlos Garnacho [Sat, 19 Mar 2022 12:02:56 +0000 (12:02 +0000)]
Merge branch 'wip/carlosg/fix-accumulated-velocity' into 'main'

kinetic scroll fixes

See merge request GNOME/gtk!4572

3 years agogtkkineticscrolling: Do not take distance based shortcuts
Carlos Garnacho [Tue, 15 Mar 2022 21:42:13 +0000 (22:42 +0100)]
gtkkineticscrolling: Do not take distance based shortcuts

The pixel distance could be small enough between tick() calls that
this kind of checks might potentially become a problem. Rely only on
the calculated velocity to trigger the STOPPED phase, and use a lower
threshold to avoid cutting the animation too early.

Related: https://gitlab.gnome.org/GNOME/gtk/-/issues/4725

3 years agogtkscrolledwindow: Do not trigger kinetic helpers on 0 velocity
Carlos Garnacho [Tue, 15 Mar 2022 21:41:27 +0000 (22:41 +0100)]
gtkscrolledwindow: Do not trigger kinetic helpers on 0 velocity

Doing this is pointless, so it could be skipped.

3 years agogtkscrolledwindow: Change lifetime of kinetic scroll helpers
Carlos Garnacho [Tue, 15 Mar 2022 21:01:36 +0000 (22:01 +0100)]
gtkscrolledwindow: Change lifetime of kinetic scroll helpers

In order to properly accumulate scroll velocities, we need to keep
the kinetic scroll helpers after we have possibly stopped them
in the process of initiating a further scroll flick.

So, instead of stopping (and destroying) those helpers on scroll-begin,
keep them until the next scroll-end if a scroll was initiated before
kinetic scroll finished. This way we can fetch the last velocity when
calculating the extra kick.

In order to ensure the helpers don't live beyond what it is expected,
we now also remove them after a finished hold event.

Fixes the accumulation of scrolling velocity on consecutive scroll
sequences.

3 years agogtkscrolledwindow: Refactor kinetic scroll animation
Carlos Garnacho [Tue, 15 Mar 2022 20:59:12 +0000 (21:59 +0100)]
gtkscrolledwindow: Refactor kinetic scroll animation

Do not depend on the kinetic scroll helpers existing or not before
exiting the animation, as we may want to keep those a little bit
longer after stopped.

3 years agogtkkineticscroll: Do not reset velocity after stop()
Carlos Garnacho [Tue, 15 Mar 2022 20:52:35 +0000 (21:52 +0100)]
gtkkineticscroll: Do not reset velocity after stop()

We may want to fetch the last velocity obtained, even though we
preemptively called stop() on a kinetic scroll helper. Keep this
velocity so it can be queried later on.

3 years agoMerge branch 'search-delay-versions' into 'main'
Emmanuele Bassi [Sat, 19 Mar 2022 10:14:04 +0000 (10:14 +0000)]
Merge branch 'search-delay-versions' into 'main'

Fix GtkSearchEntry:search-delay docs

See merge request GNOME/gtk!4585