Commit Graph

53325 Commits

Author SHA1 Message Date
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
6f89d6759e Update fa.po 2024-04-28 11:46:00 +00:00
bb58c8a3fe Merge branch 'fix-gvalue-init-3-24' into 'gtk-3-24'
css: Avoid an uninitialized GValue

See merge request GNOME/gtk!7177
2024-04-24 12:05:13 +00:00
5c3d176c00 css: Avoid an uninitialized GValue
One of the confusing aspects of GOBject. When we say
'an uninitialized GValue', we mean one that is declared
via GValue v = G_VALUE_INIT;

Fixes: #6655
2024-04-24 07:24:27 -04:00
0759e84951 Merge branch 'imm-check-valid-unicode' into 'gtk-3-24'
GtkIMContextIME: Avoid committing NULL string

See merge request GNOME/gtk!7167
2024-04-22 13:19:59 +00:00
f003609d35 GtkIMContextIME: Avoid committing NULL string
We may get invalid UTF-16 sequences when third party
apps or hooks inject WM_CHAR messages.

Validate the unicode string before committing.

Fixes https://gitlab.com/inkscape/inkscape/-/issues/2088
2024-04-22 14:53:12 +02:00
30d7f33579 Update Persian translation 2024-04-15 16:33:06 +00:00
46fe3224dd Merge branch 'wip/gtk3-uncommitted-ack-configure' into 'gtk-3-24'
wayland: Always commit soon after xdg_surface.ack_configure

See merge request GNOME/gtk!7139
2024-04-14 21:00:56 +00:00
bdddc3857c wayland: Always commit soon after xdg_surface.ack_configure
It's mandatory to reply to a xdg_surface.configure with a
xdg_surface.ack_configure, as well as a wl_surface.commit to have the
ack_configure to have any effect. We failed to do that if the new
configuration didn't cause any actual anything to change, meaning we'd
just ack_configure, but potentially never commit.

Fix this by requesting a 'after-paint' frame clock phase, while setting
the pending commit state to true. If we were already to paint, the new
requested phase would happen anyway, but to avoid double
wl_surface.commit when also using eglSwapBuffers*(), also avoid
performing the commit if we know the swap buffers will happen.
2024-04-14 21:24:19 +02:00
e6c6552160 Update Georgian translation 2024-04-12 13:49:04 +00:00
bb34e4672e Update Persian translation 2024-04-07 14:49:00 +00:00
5fc8c808d2 Add Kabyle translation 2024-04-07 11:21:45 +00:00
3a691b8f75 Add Kabyle translation 2024-04-07 10:24:54 +00:00
a7817b5b50 Update Hebrew translation 2024-04-07 05:13:32 +00:00
6a2989866f Merge branch 'sync-dnd-cursors' into 'gtk-3-24'
wayland: Guarantee dnd-move as a cursor name

See merge request GNOME/gtk!7102
2024-04-04 09:09:22 +00:00
1c8ec31162 Sync drag cursors with GTK4
Use the same cursors during dnd as we do in GTK 4.
2024-04-04 10:31:39 +02:00
0844a88558 wayland: Guarantee dnd-move as a cursor name
We need to go back to using this, since move is widely abused
and thus can't change its image to one thats appropriate for dnd.
2024-04-04 10:31:08 +02:00
140e32da63 Merge branch 'fix-glarea-transparency' into 'gtk-3-24'
Revert 7237f5d0eb

See merge request GNOME/gtk!7079
2024-03-29 06:48:11 +00:00
6754765a5a Revert 7237f5d0eb
This commit was identified as the cause for a GLArea transparency
regression. Bring the required code back.

Fixes: #6359
2024-03-28 07:58:37 +01:00
85d62e90e9 Merge branch 'tracker3-backport' into 'gtk-3-24'
Backport tracker3 performance improvements

See merge request GNOME/gtk!7051
2024-03-25 17:37:00 +00:00
e9f2daa445 searchengine: Do not fight filechooser search mode sorting
Provide the hits in an order that is more easily consumed by the
filechooser, and less jarring when populating.
2024-03-18 02:02:04 +01:00
b62a280e0c searchengine: Bail out on the first character
Again on massive filesystems, the very first character
is likely to bring a likewise massive amount of search
results that we need to maybe query info for, then create
icons and widgets for. While it's impressive we can do
that, it's also expensive and likely pointless, for the
first character.

Typing a second character is however very likely to
considerably reduce the amount of items to categorize and
show. So start actually searching from there.

Testing on a filesystem with 1434099 files indexed, trying 5
semi-random 1 character searches (n, h, t, i, o) returns on
average 168K items (min. 78771, max. 331471), trying 5
semi-random 2 character searches (no, he, th, in, on)
returns on average 34K items (min. 11133, max. 94961),
which is a more approachable set.

Doing this is enough that typing on a filechooser search
entry feels completely fluid.
2024-03-18 02:02:03 +01:00
4baa0b47e2 searchengine: Ensure some GFileInfo fields
The search provider should make it sure there are some
specific GFileInfo fields set. Fix the mimetype extraction
from the query, and use that to fill in the missing gaps
the best we can.
2024-03-18 02:02:03 +01:00
f550bd6391 searchengine: Populate filesystem model in an idle
When starting a search over a very populated filesystem, it
is possible that typing the first chars will return a too
high number of results. Even though iterating through the
cursor is in itself very fast, extracting the GIO information
from those many files at once is not going to be as fast.

In order to increase interactivity (i.e. not make things
possibly sluggish) iterate the cursor in an idle function
and add search results to the filechooser model little by little.

If the user keeps typing (as it is likely will happen), there
will be better chances to cancel and proceed to the next
query timely. If not, the results will be there soon enough.
2024-03-18 02:02:01 +01:00
870ecf2b81 searchengine: Improve performance for recursive search
As fancy as property paths are, recursive resolution of files
to a location increases the big O complexity enough that it's
not a great option on large homedirs with many indexed files.

Ensure the files are from the right location through a URI
prefix match, which does hits an index. This may dramatically
improve performance on large indexed trees.

Testing this query in an isolated testcase with a total
1434099 indexed files shows that it can run more than 1500 times
per second in this computer (an average of 15200 queries in
several 10 second runs), which presumably is a tad faster than
anyone can type.

Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4133
2024-03-18 02:01:01 +01:00
b85b972cf1 Merge branch 'size-allocation-critical' into 'gtk-3-24'
box gadget: Drop a critical

See merge request GNOME/gtk!7034
2024-03-15 02:19:38 +00:00
e29cd37ae6 Merge branch 'standard-cursor-names-3-24' into 'gtk-3-24'
wayland: Keep cursor types limping along

See merge request GNOME/gtk!7033
2024-03-15 02:19:28 +00:00
190f111d8e box gadget: Drop a critical
Nobody is going to track these allocation failures down in gtk3
at this point, so drop the alarming message. The failures are
pretty harmless.
2024-03-14 21:50:00 -04:00
f1690a9a37 wayland: Keep cursor types limping along
Cursor themes have recently started to reduce their coverage of
'legacy' cursor names, and reduced to the standard names. Support
this for the few cursor types that are still used in GTK.
2024-03-14 21:45:19 -04:00
90950b2d3d printing: Avoid accessing freed printers
Print backend can be disposed together with all its printers
as a reaction to user stopping enumeration of printers.
Adding a weak pointer help us to detect that the backend
was disposed and hence the backend and its printers should not
be used anymore.

Fixes #6265
2024-03-13 11:42:19 +01:00
c4dd8d0125 Merge branch 'ebassi/issue-6527' into 'gtk-3-24'
Sink the floating ref on the file filter

See merge request GNOME/gtk!7011
2024-03-11 12:23:16 +00:00
8a26450bba Sink the floating ref on the file filter
The GtkFileChooserEntry widget creates a file filter instance, but never
sinks its floating reference. Newer versions of GLib correctly warn if
an instance with a floating reference gets finalized.

Fixes: #6527
2024-03-11 10:41:40 +00:00
6bac387a4e Update fa.po 2024-03-01 18:46:51 +00:00
fa1fd6b5c7 Merge branch 'quartz-selection' into 'gtk-3-24'
Finish fixing pasteboard constants macOS 10.14 and later.

See merge request GNOME/gtk!6954
2024-03-01 16:32:50 +00:00
bb99970746 Merge branch 'fix-possible-segfault' into 'gtk-3-24'
dnd: Prevent a possible segfault

See merge request GNOME/gtk!6957
2024-02-28 18:52:53 +00:00
889057a386 dnd: Prevent a possible segfault
It is at least theoretically possible that gtk_entry_get_pixel_ranges
will return no ranges, and we should handle that without an
out-of-bounds access or segfault.
2024-02-28 13:20:59 -05:00
7e9676d658 Fix Cocoa pasteboard constants for gtk.
Corresponds to gdkselection-quartz changes in f30ed5ddc.
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/6480
2024-02-27 12:31:16 -08:00
687ec22393 Merge branch 'gtk3-edge-tiling-resize-fix' into 'gtk-3-24'
[gtk3/wayland] Infer resizable edges for tiled windows if possible.

See merge request GNOME/gtk!6742
2024-02-27 17:39:15 +00:00
9020a6f71e [gtk3/wayland] Infer resizable edges for tiled windows if possible.
This fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1871627

All GTK3/4 apps on non-GNOME desktops aren't resizable if they are
tiled.

This patch makes the non-tiled edges resizable if we have per-edge
tiling, but not per-edge resizing information.

We might want to make all edges resizable, but that might not be fine
for tiling compositors.
2024-02-27 15:18:41 +01:00
8440752196 Merge branch 'fix_6449' into 'gtk-3-24'
a11y: Don't emit redundant checked notifications

See merge request GNOME/gtk!6923
2024-02-20 17:21:32 +00:00
35608223b6 Apply review suggestions. 2024-02-20 16:38:08 +00:00
bfad80e08e a11y: Don't emit redundant checked notifications
The ModelButton update logic was unconditionally emitting them even if nothing
changed.

Fixes #6449.
2024-02-20 14:32:53 +01:00
47c1ffaddf Merge branch 'ebassi/doc-since-fix' into 'gtk-3-24'
docs: Fix the Since tag for gtk_render_background()

See merge request GNOME/gtk!6906
2024-02-14 20:22:14 +00:00
69c74dfded docs: Fix the Since tag for gtk_render_background()
The version should not end with a trailing dot.
2024-02-14 15:36:53 +00:00
23185eca89 Merge branch 'gtk3_crash_tablet_pad_remove' into 'gtk-3-24'
gdk/wayland: Clear current_tablet on pad leave

See merge request GNOME/gtk!6884
2024-02-12 01:25:09 +00:00