Commit Graph

53369 Commits

Author SHA1 Message Date
e82f5ac4d2 wayland: Improve font setting fallback for real
dfea8c31d9 added a check for portal settings array length but what it really checks is the amount of dbus out arguments.

This commit makes it do what gtk4 does: really check array length.

Fixes: #3838
2024-09-27 15:19:07 +04:00
aba0314fe7 Merge branch 'cm/fix-submenu-leak' into 'gtk-3-24'
menuitem: Fix leak in _gtk_menu_item_popup_submenu

See merge request GNOME/gtk!7716
2024-09-17 05:38:41 +00:00
3d737519f1 menuitem: Fix leak in _gtk_menu_item_popup_submenu
Previously, the PopupInfo data would leak if the timer was
cleared before the gtk_menu_item_popup_timeout callback ran.

Fixes #1715
2024-09-16 14:55:25 -04:00
0dcb88bff2 Update Latvian translation 2024-09-11 19:55:48 +00:00
d3a1ddb1f3 Update Bulgarian translation 2024-09-07 23:23:08 +00:00
4c92ca1857 Merge branch 'gtk3-remove-warning-export-handle' into 'gtk-3-24'
Remove warning "Couldn't export handle, unsupported windowing system"

See merge request GNOME/gtk!7694
2024-09-06 12:39:18 +00:00
9191dfe2e2 Remove warning "Couldn't export handle, unsupported windowing system"
For GDK_WINDOWING_BROADWAY, GDK_WINDOWING_WIN32 and GDK_WINDOWING_QUARTZ
links open correctly. For example, for GDK_WINDOWING_WIN32 this happens
via gspawn-win32-helper.exe / gspawn-win32-helper-console.exe. If these
helpers are missing, a corresponding error message is displayed, see
e.g. gtk3-demo.exe => Links. So there are already other error messages
if something goes wrong. For gtk4 the behavior also occurs without
warning. In my view this warning is more confusing than helpful.
2024-09-06 13:06:02 +02:00
40fbad6157 Update Hungarian translation 2024-08-30 14:40:08 +00:00
354bc34eb1 Merge branch 'fix-gvfs-dnd-portal-gtk3' into 'gtk-3-24'
selection: Fix portal retrieval of GVFS files (for DnD into Firefox)

See merge request GNOME/gtk!7646
2024-08-24 17:57:32 +00:00
7d1b9bf280 selection: Fix portal retrieval of GVFS files
When drag-and-dropping a file from Nautilus to for example Firefox, this
does not work if the file is from a GVFS mounted source. The retrieved
URI with `g_file_get_uri()` still contains the protocol.

Instead, we can use `g_filename_to_uri()`, which resolves to the local
`file://...` URI instead.

A similar fix was applied to GTK4 on the sending side in commit
ea056d26.
2024-08-24 17:45:46 +02:00
f22e5b0b23 Avoid criticals on headless systems
If we don't have a monitor, don't try to use it.
This avoids pointless critical warnings on headless systems.
2024-08-22 11:20:17 -04:00
a9044bf00a Merge branch 'wayland-monitor-fix-for-3-24wq' into 'gtk-3-24'
Try to fix monitor geometry on sway

See merge request GNOME/gtk!7626
2024-08-18 21:16:33 +00:00
1cf0520454 Try to fix monitor geometry on sway
The Wayland protocols around outputs are truly a disaster.

This is a backport of 854e40c60c0d32 from main in the hope
of getting monitor geometry to work across compositors.

Fixes: #6939
2024-08-17 21:48:37 -04:00
8e6cc9b5c9 Merge branch 'work/gtk-3-24' into 'gtk-3-24'
gesture: set widget x and y if coordinate translation between widgets fails

See merge request GNOME/gtk!7513
2024-08-16 17:35:00 +00:00
ea50be567e Update Hindi translation 2024-08-13 18:42:05 +00:00
0521e38bcc Update Hindi translation 2024-08-13 18:39:28 +00:00
82213003aa Merge branch 'michaelweghorn/gtk3_message_dialog_a11y_name' into 'gtk-3-24'
[gtk3] a11y: Use non-empty message dialog title as a11y name

See merge request GNOME/gtk!7587
2024-08-09 23:25:28 +00:00
939737c3e7 a11y: Use non-empty message dialog title as a11y name
If a `GtkMessageDialog` has a non-empty title set, use
that for the accessible name instead of a generic name
indicating the type of the message dialog, as the
window title is generally more informative, if set.
It also better matches the information presented
visually on screen (in the window title, task switchers,...)
and is in line with the handling for non-message-dialog
windows.

This can easily be tested with the "Dialogs and
Message Boxes" sample from gtk3-demo when setting
a title for the message dialog in there like this:

    diff --git a/demos/gtk-demo/dialog.c b/demos/gtk-demo/dialog.c
    index 0eb1c62397..53fb7f8b0e 100644
    --- a/demos/gtk-demo/dialog.c
    +++ b/demos/gtk-demo/dialog.c
    @@ -25,6 +25,8 @@ message_dialog_clicked (GtkButton *button,
                                        "number of times:");
       gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
                                                 "%d", i);
    +  gtk_window_set_title (GTK_WINDOW (dialog), "Some informative title");
    +
       gtk_dialog_run (GTK_DIALOG (dialog));
       gtk_widget_destroy (dialog);
       i++;
2024-08-09 21:02:50 +02:00
13f55cd3e6 a11y: Extract helper function to set GtkMessageDialog a11y name
Extract the existing logic to set an accessible name for the
`GtkMessageDialog` based on the message type from `setup_type`
to a new helper function `update_accessible_name`.

That helper function will be reused and extended in a follow-up
commit.
2024-08-09 21:00:54 +02:00
a1046a13da gesture: set widget x and y if coordinate translation between widgets fails
Bug Description: In a GTK+ application with a menu bar, clicking the
menu item displays a dialog. However, when the user opens this dialog
and drags the parent window's menu bar with the cursor, the dialog
gets moved.
Issue: When _gtk_gesture_update_point calls the _update_widget_coordinates
function, the local variables x and y are not explicitly initialized, leading
to arbitrary values. For instance, in my case, x was 32767 and y was
-145750164 . These values are used in the subsequent call to
gtk_widget_translate_coordinates. In gtk_widget_translate_coordinates,
if ancestor is NULL, the function returns FALSE, and dest_x and dest_y
are not updated. The incorrect values of x and y cause data->widget_x
and data->widget_y to be incorrect, ultimately leading to abnormal
x and y values in the gtk_gesture_drag_update function.

To avoid this, we should set x and y to values clearly outside the widget.

Signed-off-by: Li Kai <likai@kylinos.cn>
2024-08-07 22:13:59 +08:00
1d93015e1f Merge branch 'fix-virtual-memory-leak' into 'gtk-3-24'
Ensure the staging_cairo_surface is destroyed before re-assigning it

See merge request GNOME/gtk!7206
2024-08-07 13:21:13 +00:00
8a9a5822b0 Merge branch 'im-multi' into 'gtk-3-24'
immulticontext: Don't have a global_context_id

See merge request GNOME/gtk!7545
2024-08-02 17:20:03 +00:00
39345212e8 immulticontext: Don't have a global_context_id
Context IDs are dependant on the display - both because displays can use
different backends, but also because changing the GtkSetting is a
per-display operation.

So just remove the cache.
If it turns out we need a per-display cache, we can add one to
GtkSettings.

(cherry picked from commit 16d4ce4d0301b7af2a67703e792efdcf27b1d397
 with slight changes to use priv->client_window instead of
 priv->client_widget)
2024-08-02 17:27:16 +02:00
02cec9b8c9 Merge branch 'gtk-gtk-3-24-xdg-foreign-v2' into 'gtk-3-24'
wayland: Add support for v2 of xdg_foreign protocol

See merge request GNOME/gtk!7440
2024-07-14 19:52:37 +00:00
b8435aab39 wayland: Add support for v2 of xdg_foreign protocol 2024-07-11 18:31:37 +02:00
28d53c1f95 Post-release version bump 2024-07-10 13:46:02 -04:00
788f4de279 3.24.43 2024-07-10 13:03:14 -04:00
cd9174daa2 Mark "%-e %b" as "no-c-format" for xgettext. 2024-07-01 19:31:40 +00:00
56f4274c67 Update Persian translation 2024-07-01 19:06:37 +00:00
aa0a6bbc5c Update Persian translation 2024-07-01 18:59:33 +00:00
f3d7fa5583 Update Hungarian translation 2024-06-28 15:27:01 +00:00
626ff485f8 Update Czech translation 2024-06-16 13:18:43 +00:00
e81aad25a1 Merge branch 'gtk3-module-loading-fix' into 'gtk-3-24'
Stop looking for modules in cwd

See merge request GNOME/gtk!7361
2024-06-15 21:58:49 +00:00
3bbf0b6176 Stop looking for modules in cwd
This is just not a good idea. It is surprising, and can be misused.

Fixes: #6786
2024-06-15 14:18:01 -04:00
a8a03a4852 Merge branch 'wgl-usage-across-threads-324' into 'gtk-3-24'
3.24: GDK-Win32: Use wrapper functions for calling core wgl* functions (backport from GTK-4.x)

See merge request GNOME/gtk!7284
2024-05-23 15:34:40 +00:00
8ae6aee9c2 Merge branch 'gdk3_win32_fix_dnd_move_cursor' into 'gtk-3-24'
gdk3-win32: Fix invisible dnd-move cursor

See merge request GNOME/gtk!7288
2024-05-23 10:16:43 +00:00
71de45cb83 win32: Fix invisible dnd-move cursor
The cursor currently disappears while in DnD "move" action.
Fix by assigning a standard arrow cursor.
2024-05-22 20:41:57 +02:00
a0306f758f GDK-Win32: Add wrapper functions for calling core wgl* functions
This is a backport from the GTK-4.x update, so that we can aim to
support gtkglsink in gst-plugins-good even on Windows, beyond using
just Cairo in gstsink for rendering.

From the commit message in GTK-4.x, in commit 627ee674:

We might be dealing with GL contexts from different threads, which have more
gotchas when we are using libepoxy, so in case the function pointers for
these are invalidated by wglMakeCurrent() calls outside of GTK/GDK, such as
in GstGL, we want to use these functions that are directly linked to
opengl32.dll provided by the system/ICD, by linking to opengl32.lib.

This will ensure that we will indeed call the "correct" wgl* functions that
we need.
2024-05-22 19:26:31 +08:00
60a3955ce2 Merge branch 'fix-win32-build-gcc14' into 'gtk-3-24'
gtkprintoperation-win32: fix the build on Windows with GCC 14.1.0

See merge request GNOME/gtk!7259
2024-05-18 10:47:48 +00:00
fcc5219910 gtkprintoperation-win32: fix the build on Windows with GCC 14.1.0
Both cases expect a DLGTEMPLATE but the docs say that DLGTEMPLATEEX
works too, despite it being a different struct, so just cast it.
See https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-createdialogindirectw

This avoids two "-Wincompatible-pointer-types" which GCC 14 switched
to being an error by default.
2024-05-16 23:04:27 +02:00
f8018da0d7 3.24.42 2024-05-15 16:52:40 -04:00
f050f24d35 Merge branch 'wip/abono/macos-tracking-area-leak' into 'gtk-3-24'
quartz: Remove trackingArea double reference

See merge request GNOME/gtk!7250
2024-05-14 10:55:06 +00:00
c07bffa624 quartz: Remove trackingArea double reference
Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/6704
2024-05-14 12:30:34 +02:00
8990eb4177 Merge branch 'michaelweghorn/gtk-3-24_port_from_deprecated_focus_event' into 'gtk-3-24'
a11y: Port from deprecated atk_focus_tracker_notify

See merge request GNOME/gtk!7239
2024-05-13 13:21:08 +00:00
5147e95d1d a11y: Port from deprecated atk_focus_tracker_notify
Port `gail_focus_notify` from using the deprecated
`atk_focus_tracker_notify` to notify about the new
focus object. Notify of a state of the focused state
instead, as suggested in the
`atk_focus_tracker_notify` doc [1].

Using the deprecated function e.g. resulted in
the Orca screen reader no longer announcing
initial focus on editable comboboxes in
LibreOffice Writer's toolbars after Orca dropped
support for the deprecated "focus" AT-SPI event
in this commit [2]:

    commit 9e2902dd46c7e583a097e235dfd7e3c50b016383
    Author: Joanmarie Diggs <jdiggs@igalia.com>
    Date:   Wed May 1 12:14:07 2024 +0200

        Remove the on_focus handler for the LibreOffice script

        The "focus:" event was deprecated many years ago. If the expected
        "object:state-changed:focused" event is absent, that bug should
        be fixed.

This commit makes the announcement work again.

It also fixes the scenario described in [3].

[1] https://docs.gtk.org/atk/func.focus_tracker_notify.html
[2] 9e2902dd46
[3] https://gitlab.gnome.org/GNOME/gtk/-/issues/454#note_2099344

Fixes: #454
2024-05-08 12:52:42 +02:00
ebc84a6185 Merge branch 'bump_dep_sysprof_capture' into 'gtk-3-24'
Build option '-Dprofiler=true' fails with latest sysprof-capture

See merge request GNOME/gtk!7225
2024-05-05 15:00:50 +00:00
0b220ce984 Build option '-Dprofiler=true' fails with latest sysprof-capture
I'm unable to compile gtk+-3 on Fedora 40 with profiler support
"-Dprofiler=true" because it looks for sysprof-capture-3 while
Fedora 40 only provides sysprof-capture-4.

GTK4 for the same build option only looks for sysprof-capture-4.
2024-05-04 17:19:59 +01:00
09fe1f263f Update Kabyle translation 2024-05-01 14:59:52 +00:00
0a4a84bc06 Update Kabyle translation 2024-05-01 14:57:07 +00:00
b237989bb3 Ensure the staging_cairo_surface is destroyed before re-assigning it
Without doing so, memory regions allocated may not be freed in some cases.

Closes 6675.
2024-04-30 09:15:09 +08:00