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

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.

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 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 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 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 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 agoMerge branch 'cherry-pick-b67da389' into 'gtk-4-6'
Matthias Clasen [Wed, 20 Apr 2022 15:35:21 +0000 (15:35 +0000)]
Merge branch 'cherry-pick-b67da389' into 'gtk-4-6'

Backport: gtkimmulticontext: Handle switches between displays

See merge request GNOME/gtk!4660

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
(cherry picked from commit b67da38916b710ba6eedd65ffb569a29e47ddb4d)

3 years agoMerge branch 'filechooser-fixes-4-6' into 'gtk-4-6'
Matthias Clasen [Wed, 20 Apr 2022 01:34:51 +0000 (01:34 +0000)]
Merge branch 'filechooser-fixes-4-6' into 'gtk-4-6'

filechooser: cherry-pick fixes from main for 4.6

See merge request GNOME/gtk!4654

3 years agoMerge branch 'ebassi/issue-4825-backport' into 'gtk-4-6'
Matthias Clasen [Wed, 20 Apr 2022 01:30:51 +0000 (01:30 +0000)]
Merge branch 'ebassi/issue-4825-backport' into 'gtk-4-6'

a11y: Defer object registration after root registration

See merge request GNOME/gtk!4658

3 years agoa11y: Defer object registration after root registration
Emmanuele Bassi [Tue, 19 Apr 2022 15:12:08 +0000 (16:12 +0100)]
a11y: Defer object registration after root registration

The root accessible object is registered asynchronously, as it needs to
call a method on the AT-SPI registry daemon. This means we need to defer
registering the GtkAtSpiContext on the accessibility bus and in the
cache until after the registration is complete.

Fixes: #4825
3 years agofilechooser: Small fix for save mode
Matthias Clasen [Sun, 17 Apr 2022 02:00:22 +0000 (22:00 -0400)]
filechooser: Small fix for save mode

When changing folders, we were making the select
button insensitive when there's no files around.
That doesn't make sense in save mode when we don't
want to select a file but create one.

Fixes: #4851
3 years agofilechooser: Prevent random completion popups
Matthias Clasen [Sun, 17 Apr 2022 03:29:04 +0000 (23:29 -0400)]
filechooser: Prevent random completion popups

It is very irritating when the entry completion popup
appears not in response to user input in the entry.
In particular, when that happens right as the dialog
is shown.

To prevent that, temporarily disable completion
when setting the entry text programmatically.

3 years agoMerge branch 'gdk-win32-fix-mouse-move-crossing-events-gtk-4-6' into 'gtk-4-6'
Luca Bacci [Fri, 8 Apr 2022 13:58:29 +0000 (13:58 +0000)]
Merge branch 'gdk-win32-fix-mouse-move-crossing-events-gtk-4-6' into 'gtk-4-6'

GdkWin32: Mouse events fixes

See merge request GNOME/gtk!4627

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 'backport-4406-4.6' into 'gtk-4-6'
Luca Bacci [Fri, 8 Apr 2022 08:30:48 +0000 (08:30 +0000)]
Merge branch 'backport-4406-4.6' into 'gtk-4-6'

gdkclipboard-win32.c: Fix call to gdk_clipboard_claim_remote() (backport MR !4604 to gtk-4-6)

See merge request GNOME/gtk!4608

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

(cherry picked from commit d75147db0acd7723732790155fd3a63688193c63)

d3cf7088 macos: Skip running `showAndMakeKey` when a window is minimized by user action

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

(cherry picked from commit 15b7a4572b3a06aefed75bb7989c711763af65f7)

69a0a5cf macos: Prohibit changing the full-screen state of a window during a full-screen transition
229e4b58 macos: Corrected code style

3 years agoUpdate Indonesian translation
Andika Triwidada [Fri, 1 Apr 2022 04:10:57 +0000 (04:10 +0000)]
Update Indonesian translation

3 years agoUpdate Indonesian translation
Andika Triwidada [Fri, 1 Apr 2022 04:04:49 +0000 (04:04 +0000)]
Update Indonesian translation

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 agoUpdate Latvian translation
Rūdolfs Mazurs [Sun, 27 Mar 2022 20:19:10 +0000 (20:19 +0000)]
Update Latvian translation

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

3 years agoMerge branch 'cherry-pick-351ffef7' into 'gtk-4-6'
Emmanuele Bassi [Sun, 27 Mar 2022 18:24:38 +0000 (18:24 +0000)]
Merge branch 'cherry-pick-351ffef7' into 'gtk-4-6'

overlaylayout: Set position style class on child

See merge request GNOME/gtk!4598

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

(cherry picked from commit 351ffef70481c109f151b6fef84060c4e4847b43)

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

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

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

3 years ago4.6.2
Matthias Clasen [Sat, 19 Mar 2022 00:29:42 +0000 (20:29 -0400)]
4.6.2

3 years agoMerge branch 'alatiera/stable-wraps-4-6' into 'gtk-4-6'
Matthias Clasen [Sat, 19 Mar 2022 00:37:58 +0000 (00:37 +0000)]
Merge branch 'alatiera/stable-wraps-4-6' into 'gtk-4-6'

meson: use proper handling of wayland-protocols dependency

See merge request GNOME/gtk!4580

3 years agofilefilter: Fix <suffixes> in buildable
James Westman [Thu, 17 Mar 2022 15:49:39 +0000 (10:49 -0500)]
filefilter: Fix <suffixes> in buildable

A bug in GtkFileFilter's GtkBuildable implementation caused the
<suffixes> tag not to be recognized.

3 years agomeson: switch some .wrap files to stable branches
Jordan Petridis [Wed, 16 Mar 2022 07:53:16 +0000 (09:53 +0200)]
meson: switch some .wrap files to stable branches

To avoid random failures if one of the projects starts
depending on new things or has incompatible changes.

3 years agomeson: use proper handling of wayland-protocols dependency
Eli Schwartz [Thu, 10 Mar 2022 05:08:36 +0000 (00:08 -0500)]
meson: use proper handling of wayland-protocols dependency

Ensure that resolution of the subproject occurs via the dependency
interface, not the "poke at subprojects manually" interface, and make
that actually work via --wrap-mode=forcefallback.

There's no need to mark it as not-required and then manually invoke
subproject(), since fallback should work correctly and it is always
needed.

However, if fallback was performed (or forced) it would error out since
get_variable() was instructed to only use pkg-config while the relevant
variable was exported by the subproject as an internal fallback
dependency.

3 years agoUpdate Italian translation
Milo Casagrande [Thu, 17 Mar 2022 08:35:42 +0000 (08:35 +0000)]
Update Italian translation

3 years agoUpdate Italian translation
Milo Casagrande [Thu, 17 Mar 2022 08:34:04 +0000 (08:34 +0000)]
Update Italian translation

3 years agoUpdate Serbian translation
Мирослав Николић [Thu, 17 Mar 2022 06:04:15 +0000 (06:04 +0000)]
Update Serbian translation

3 years agoMerge branch 'wip/carlosg/backports-4-6' into 'gtk-4-6'
Matthias Clasen [Thu, 17 Mar 2022 01:50:18 +0000 (01:50 +0000)]
Merge branch 'wip/carlosg/backports-4-6' into 'gtk-4-6'

Backport fixes to 4.6

See merge request GNOME/gtk!4577

3 years agoMerge branch 'wip/chergert/for-4-6' into 'gtk-4-6'
Matthias Clasen [Wed, 16 Mar 2022 20:03:38 +0000 (20:03 +0000)]
Merge branch 'wip/chergert/for-4-6' into 'gtk-4-6'

backport macOS fixes to gtk-4-6

See merge request GNOME/gtk!4578

3 years agomacos: exclude popups from window list
Christian Hergert [Sat, 12 Mar 2022 06:36:26 +0000 (22:36 -0800)]
macos: exclude popups from window list

This probably only matters if you do window list integration for the global
menu on macOS.

3 years agomacos: pass events to foreign windows
Christian Hergert [Sat, 12 Mar 2022 02:25:47 +0000 (18:25 -0800)]
macos: pass events to foreign windows

3 years agomacos: dont steal key window from NSPanel
Christian Hergert [Sat, 12 Mar 2022 02:07:34 +0000 (18:07 -0800)]
macos: dont steal key window from NSPanel

Or we risk making it really difficult to use native file choosers.

3 years agomacos: fix window level for popups
Christian Hergert [Sat, 12 Mar 2022 02:01:05 +0000 (18:01 -0800)]
macos: fix window level for popups

This comment isn't really accurate anymore it seems, so we can start
setting the proper stacking order for popups now.

3 years agomacos: fix attachment of popups to parents
Christian Hergert [Sat, 12 Mar 2022 01:53:42 +0000 (17:53 -0800)]
macos: fix attachment of popups to parents

We had code to do it and it never actually got used correctly. This ensures
that the popup services are attached to the parents so that they get proper
stacking orders when displayed. Additionally, it fixes popups from being
shown as their own windows in Exposé.

3 years agomacos: fix window activation during shadow click-through
Christian Hergert [Fri, 11 Mar 2022 01:26:56 +0000 (17:26 -0800)]
macos: fix window activation during shadow click-through

If we are clicking through the shadow of a window, we need to take special
care to not raise the old window on mouseUp. This is normally done by the
display server for us, so we need to use the proper API that is public to
handle this (rather than CGSSetWindowTags()). Doing so requires us to
dispatch the event to the NSView and then cancel the activcation from
the mouseDown: event there.

3 years agomacos: select new key window after processing events
Christian Hergert [Fri, 11 Mar 2022 08:50:10 +0000 (00:50 -0800)]
macos: select new key window after processing events

If we closed a key window in response to events, we need to denote another
window as the new key window. This is easiest to do from an idle so that
we don't clobber notification pairs of "did resign"/"did become" key
window.

We have a sorted set of surfaces by display server stacking, so we can
take the first one we come across that is already mapped and re-show it
to become key/main.