Commit Graph

73734 Commits

Author SHA1 Message Date
Matthias Clasen
a87b3f63ec Merge branch 'cherry-pick-b4db4893' into 'gtk-4-8'
Fix building `tests/mountoperation.c` on Windows (backport MR!5126 to gtk-4-8)

See merge request GNOME/gtk!5408
2023-01-09 10:58:46 +00:00
Matthias Clasen
66091f8139 Merge branch 'fix-windows-build-testmountoperation' into 'main'
tests/testmountoperation.c: Fix build on Windows

See merge request GNOME/gtk!5126

(cherry picked from commit b4db48935d)

1a5a65ac tests/testmountoperation.c: Fix build on Windows
2023-01-09 05:08:56 -05:00
Matthias Clasen
46eebcb2ac Merge branch 'cherry-pick-188f9269' into 'gtk-4-8'
Cherrypick to 4.8: listitemwidget: Setup factory only once the widget is visible

See merge request GNOME/gtk!5378
2023-01-07 15:06:05 +00:00
Nart Tlisha
1e27563425 Update Abkhazian translation 2023-01-05 12:23:44 +00:00
Benjamin Otte
2aaefd9ff6 Merge branch 'wip/corey/list-item-visible' into 'main'
listitemwidget: Setup factory only once the widget is visible

See merge request GNOME/gtk!5374

(cherry picked from commit 188f9269b7)

7ad693f8 gtkcolumnviewcolumn: Only create cells when the column is visible
2022-12-30 19:45:00 -05:00
Matthias Clasen
748b68d58b Fix typo in NEWS 2022-12-22 23:05:37 -05:00
Matthias Clasen
74ed1b9e35 Post-release version bump 2022-12-22 14:12:14 -05:00
Matthias Clasen
793831af8a 4.8.3 2022-12-22 14:07:27 -05:00
Matthias Clasen
d51734d83b Merge branch 'cherry-pick-acd7d739' into 'gtk-4-8'
[4.8] GdkWin32: Fix resizes with native decorations

See merge request GNOME/gtk!5368
2022-12-22 18:41:22 +00:00
Luca Bacci
40ed5ed494 GdkWin32: Fix resizes with native decorations
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/5142
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/5088
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/5090
2022-12-22 18:03:41 +02:00
Matthias Clasen
9b75292a63 Merge branch 'hicolor-backport' into 'gtk-4-8'
Merge branch 'include-hicolor-index-theme-as-resource-rebased' into 'main'

See merge request GNOME/gtk!5364
2022-12-21 07:30:05 +00:00
Matthias Clasen
db5543e83b tests: Maybe skip introspection tests
If we don't find the python gi module,
skip the introspection test.
2022-12-20 22:40:36 -05:00
Luca Bacci
5844ecf381 Merge branch 'include-hicolor-index-theme-as-resource-rebased' into 'main'
Include hicolor index.theme as a resource (rebased)

Closes #5303

See merge request GNOME/gtk!5361
2022-12-20 21:52:17 -05:00
Benjamin Otte
afaeadcf67 Merge branch 'cherry-pick-ae097d96' into 'gtk-4-8'
listbase: Cancel rubberband if not handling drag

See merge request GNOME/gtk!5363
2022-12-21 02:41:07 +00:00
Benjamin Otte
14823c6bd6 Merge branch 'wip/antoniof/listbase-rubberband-better-fix' into 'main'
listbase: Cancel rubberband if not handling drag

See merge request GNOME/gtk!4831

(cherry picked from commit ae097d9674)

efbd2289 listbase: Cancel rubberband if not handling drag
2022-12-20 20:19:15 -05:00
Aleksandr Melman
a2d95db723 Update Russian translation 2022-12-20 09:21:34 +00:00
Matthias Clasen
ecbfccfc55 Merge branch 'cherry-pick-1f001a8f' into 'gtk-4-8'
Merge branch 'wip/corey/listbase-focus' into 'main'

See merge request GNOME/gtk!5338
2022-12-15 17:10:33 +00:00
Matthias Clasen
ef6f9cd7c6 Merge branch 'cherry-pick-e8f70be2' into 'gtk-4-8'
Merge branch 'wip/otte/for-5422' into 'main'

See merge request GNOME/gtk!5331
2022-12-15 16:27:57 +00:00
Benjamin Otte
9df10fa96f Merge branch 'wip/corey/listbase-focus' into 'main'
listbase: Use set_focus_child properly

Closes #5433 and #5432

See merge request GNOME/gtk!5169

(cherry picked from commit 1f001a8f6a)

7081bfc6 listbase: Split scroll_to_item for reuse
93e591fd listbase: Use set_focus_child properly
2022-12-14 22:21:54 -05:00
Matthias Clasen
779f8063d3 Merge branch 'x11-fixes-backports-4-8' into 'gtk-4-8'
Assorted x11 fix backports

See merge request GNOME/gtk!5333
2022-12-15 00:25:25 +00:00
Matthias Clasen
24508e07f0 Merge branch 'update-ci-image-4-8' into 'gtk-4-8'
text: Prevent unexpected notify::direction emissions

See merge request GNOME/gtk!5334
2022-12-15 00:24:54 +00:00
Matthias Clasen
dcc0da218a Getting desperate 2022-12-14 15:25:15 -05:00
Matthias Clasen
70cb06abcd ci: Another fixup 2022-12-14 14:29:47 -05:00
Matthias Clasen
1f40e88153 ci: Add /home/user/.local/bin to PATH 2022-12-14 13:51:42 -05:00
Matthias Clasen
93df6447fa Install meson 0.64 in ci jobs 2022-12-14 12:49:54 -05:00
Matthias Clasen
1e60aa122a ci: Try to defeat the caching
Drop subprojects/glib from the caching, since it
fails to update.
2022-12-14 12:49:54 -05:00
Emmanuele Bassi
cee282a282 vulkan: Add missing enumeration
Check for VK_ERROR_COMPRESSION_EXHAUSTED_EXT.
2022-12-14 12:48:32 -05:00
Matthias Clasen
19aa79d511 Don't emit ::notify from a getter
GdkX11Keymap ddetermines the direction of the
keymap on demand, and was emitting notify::direction
2022-12-14 11:28:19 -05:00
Matthias Clasen
55d8469fde mountoperation: Add a mnemonic to a button
This is a good practice, even if this is a rarely
used dialog.
2022-12-14 11:28:19 -05:00
Matthias Clasen
8d4a14e082 mountoperation: Don't use a treeview
Port the process list from GtkTreeView
to GtkListView, and fix a number of broken
things along the way.
2022-12-14 11:28:19 -05:00
Matthias Clasen
3ab28f8f8e testmountoperation: Test process dialog
Without this, it is hard to trigger the
dialog. Event with this, we have to force
GtkMountOperation to use its own dialog.
2022-12-14 11:28:19 -05:00
Matthias Clasen
55dd442955 mountoperation: Survive on Wayland
The code was assuming it is dealing with an
X11 display, and trigger assertions. Fix that
to make it work at least as well as it does
on Windows.
2022-12-14 11:28:19 -05:00
Matthias Clasen
9f4baac5a2 text: Prevent unexpected notify::direction emissions
Calling gdk_device_get_direction can trigger a
notify::direction emissions, since the X11 backend
determines the direction on demand. Prevent that by
forcing the direction to be determined ahead of time.

Fixes: #5311
2022-12-14 11:28:19 -05:00
Carlos Garnacho
0dbf91123d gdk/x11: Clear all data in GdkSurfaceX11 finalization
Currently, the GdkSurfaceX11 implementation relies that the upper
layers hid the surface before destruction, and that no
GdkSurfaceClass.compute_resize happened between them. If these
circumstances happened, there would be a compute_size timeout left
dangling after the surface got destroyed, poking at incorrect data
later on. Something that looks like this was reported in the
recent mutter-x11-frames "SSD frames server":

    mutter-x11-frames:423016): GLib-GObject-WARNING **: 19:41:16.869: invalid unclassed pointer in cast to 'GtkWindow'

    Thread 1 "mutter-x11-fram" received signal SIGTRAP, Trace/breakpoint trap.
    g_logv (log_domain=0x7ffff7f7c4f8 "GLib-GObject", log_level=G_LOG_LEVEL_WARNING, format=<optimized out>, args=<optimized out>) at ../../../glib/gmessages.c:1433
    1433	../../../glib/gmessages.c: No such file or directory.
    (gdb) bt
    #0  g_logv (log_domain=0x7ffff7f7c4f8 "GLib-GObject", log_level=G_LOG_LEVEL_WARNING, format=<optimized out>, args=<optimized out>) at ../../../glib/gmessages.c:1433
    #1  0x00007ffff73470ff in g_log (log_domain=log_domain@entry=0x7ffff7f7c4f8 "GLib-GObject", log_level=log_level@entry=G_LOG_LEVEL_WARNING, format=format@entry=0x7ffff7f84da8 "invalid unclassed pointer in cast to '%s'")
        at ../../../glib/gmessages.c:1471
    #2  0x00007ffff7f72892 in g_type_check_instance_cast (type_instance=type_instance@entry=0x5555558e04b0, iface_type=<optimized out>) at ../../../gobject/gtype.c:4144
    #3  0x00007ffff791e77d in toplevel_compute_size (toplevel=<optimized out>, size=0x7fffffffe170, widget=0x5555558e04b0) at ../../../gtk/gtkwindow.c:4227
    #4  0x00007ffff7f4f3b0 in g_closure_invoke (closure=0x555555898cc0, return_value=return_value@entry=0x0, n_param_values=2, param_values=param_values@entry=0x7fffffffdeb0, invocation_hint=invocation_hint@entry=0x7fffffffde30)
        at ../../../gobject/gclosure.c:832
    #5  0x00007ffff7f62076 in signal_emit_unlocked_R
        (node=node@entry=0x55555588feb0, detail=detail@entry=0, instance=instance@entry=0x55555560e990, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffdeb0)
        at ../../../gobject/gsignal.c:3796
    #6  0x00007ffff7f68bf5 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffe050) at ../../../gobject/gsignal.c:3549
    #7  0x00007ffff7f68dbf in <emit signal ??? on instance 0x55555560e990 [GdkX11Toplevel]> (instance=<optimized out>, signal_id=<optimized out>, detail=detail@entry=0) at ../../../gobject/gsignal.c:3606
    #8  0x00007ffff7a8de96 in gdk_toplevel_notify_compute_size (toplevel=<optimized out>, size=size@entry=0x7fffffffe170) at ../../../gdk/gdktoplevel.c:112
    #9  0x00007ffff7a4b15a in compute_toplevel_size (surface=surface@entry=0x55555560e990 [GdkX11Toplevel], update_geometry=update_geometry@entry=1, width=width@entry=0x7fffffffe220, height=height@entry=0x7fffffffe224)
        at ../../../gdk/x11/gdksurface-x11.c:281
    #10 0x00007ffff7a4c3b2 in compute_size_idle (user_data=0x55555560e990) at ../../../gdk/x11/gdksurface-x11.c:356
    #11 0x00007ffff733f67f in g_main_dispatch (context=0x55555563f6e0) at ../../../glib/gmain.c:3444
    #12 g_main_context_dispatch (context=context@entry=0x55555563f6e0) at ../../../glib/gmain.c:4162
    #13 0x00007ffff733fa38 in g_main_context_iterate (context=0x55555563f6e0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4238
    #14 0x00007ffff733fcef in g_main_loop_run (loop=loop@entry=0x5555560874a0) at ../../../glib/gmain.c:4438
    #15 0x0000555555557de0 in main (argc=<optimized out>, argv=<optimized out>) at ../src/frames/main.c:68

It perhaps makes sense to warn in these situations, but either way
it sounds like gdk_surface_x11_finalize() could enforce the correct
behavior by ensuring there is no dangling timeouts/data. This commit
does that.
2022-12-14 07:41:03 -05:00
Matthias Clasen
4733352ce3 Don't emit ::notify from a getter
GdkX11Keymap ddetermines the direction of the
keymap on demand, and was emitting notify::direction
2022-12-14 07:36:11 -05:00
Danial Behzadi
aabae92482 Update Persian translation 2022-12-14 12:33:15 +00:00
Matthias Clasen
b2380a21ef mountoperation: Add a mnemonic to a button
This is a good practice, even if this is a rarely
used dialog.
2022-12-14 07:27:27 -05:00
Matthias Clasen
573204987c mountoperation: Don't use a treeview
Port the process list from GtkTreeView
to GtkListView, and fix a number of broken
things along the way.
2022-12-14 07:27:00 -05:00
Matthias Clasen
2f84859847 testmountoperation: Test process dialog
Without this, it is hard to trigger the
dialog. Event with this, we have to force
GtkMountOperation to use its own dialog.
2022-12-14 07:26:54 -05:00
Matthias Clasen
f4abf696f2 mountoperation: Survive on Wayland
The code was assuming it is dealing with an
X11 display, and trigger assertions. Fix that
to make it work at least as well as it does
on Windows.
2022-12-14 07:26:43 -05:00
Corey Berla
dc59b1c588 Merge branch 'wip/otte/for-5422' into 'main'
contentserializer: Serialize to file:// if possible

Closes #5422

See merge request GNOME/gtk!5330

(cherry picked from commit e8f70be2c1)

ea056d26 contentserializer: Serialize to file:// if possible
2022-12-14 07:25:48 -05:00
Matthias Clasen
88c6c55d3a text: Prevent unexpected notify::direction emissions
Calling gdk_device_get_direction can trigger a
notify::direction emissions, since the X11 backend
determines the direction on demand. Prevent that by
forcing the direction to be determined ahead of time.

Fixes: #5311
2022-12-14 07:25:30 -05:00
Matthias Clasen
c7185c65c9 Merge branch 'wip/corey/cherrypick-from-main' into 'gtk-4-8'
Cherrypick into 4.8

See merge request GNOME/gtk!5312
2022-12-09 21:26:30 +00:00
Olga Smirnova
d758ea2e5e Add Interlingue translation 2022-12-09 20:36:05 +00:00
Corey Berla
4a04cf610e atspicontext: Log more helpful warnings when the a11y bus doesn't exist 2022-12-09 08:09:28 -10:00
Corey Berla
9252b88c23 atspicontext: Cache empty atspi bus address
We are caching the bus address as data on the display object when it
exists, but fail to set the data when the bus address doesn't exist.
That causing excessive calls to GetAddress when the accesssbility
bus doesn't exist. Make sure to cache a non-existent accessibility
bus by setting the "" string.
2022-12-09 08:09:24 -10:00
Corey Berla
b2356dbe7b atspicontext: Log failure to connect to a11y
GTK depends on the a11y infrastructure to be in place unless GTK_A11Y is
set to none.  It appears that despite that, users attempt to
get around the a11y requirement without setting GTK_A11Y.
This can cause, amongst other issues, performance problems
with gtk applications.  Log failure to connect to the a11y
bus.
2022-12-09 08:09:05 -10:00
Asier Sarasua Garmendia
5186430d9d Update Basque translation 2022-12-03 09:45:52 +00:00
Benjamin Otte
272e354d57 Merge branch 'cherry-pick-a9c9678e' into 'gtk-4-8'
Merge branch 'workaround-glx-issue' into 'main'

See merge request GNOME/gtk!5287
2022-12-02 17:10:38 +00:00
Benjamin Otte
b17ccd13e6 Merge branch 'workaround-glx-issue' into 'main'
GLX: Add extra glXMakeContextCurrent () call to work around a DRI issue

Closes #4499, #5387, and #5170

See merge request GNOME/gtk!5285

(cherry picked from commit a9c9678e1f)

f788e994 GLX: Add extra glXMakeContextCurrent () call to work around a DRI issue
2022-12-02 11:09:11 -05:00