Commit Graph

28727 Commits

Author SHA1 Message Date
4ef9fb7357 emoji: Update data to CLDR v44
Based on emojibase v15.3.0

Contains the changes in Unicode 15.1

https://unicode.org/versions/Unicode15.1.0/
https://cldr.unicode.org/index/downloads/cldr-44
https://github.com/milesj/emojibase/blob/emojibase-data%4015.3.0/packages/data/CHANGELOG.md
(cherry picked from commit 76a1f1714da0d7a1829826810851cdd67e80c8c4)
(cherry picked from commit e42befb76bb0dd6096e7ed9bf50bb2496958a8c9)
2023-12-22 10:40:22 -05:00
5a8a0814f7 emoji: Update data to CLDR v43
Based on emojibase v15.2.0

Contains the changes in Unicode 15.0

https://unicode.org/versions/Unicode15.0.0/
https://cldr.unicode.org/index/downloads/cldr-43
https://github.com/milesj/emojibase/blob/emojibase-data%4015.2.0/packages/data/CHANGELOG.md
(cherry picked from commit bf358363501c5c2dff390f8bf73ac274f8e63b0a)
(cherry picked from commit f947f2368735a603000670eafc4cbef7c8fcbebb)
2023-12-22 10:40:22 -05:00
4e2e544924 add hi-ja-et-fi-nb-th for gtkemojichooser
(cherry picked from commit 49fbbfb6ccdbeb2ac85235622a618472000e28a9)
(cherry picked from commit 322d9e5c3f1583c7ef5a2090330db8ab6800baca)
2023-12-22 10:40:22 -05:00
9a3a67765a add bengali language bn.data for gtkemojichooser
(cherry picked from commit 16806294e351698c3ff6e346e5e74dfecf76527b)
(cherry picked from commit 4b2145475ebf0c6967a52d14c4243185536e1290)
2023-12-22 10:40:22 -05:00
a8feb1528d emoji: Add more locales
Based on the locales that are at least 85% translated in Damned Lies:
https://l10n.gnome.org/releases/gnome-41/
Limited by the locales available in emojibase

Closes #4568

(cherry picked from commit d8c79e91a21b831580ea890b7cf146934877fbb7)
2023-12-22 10:40:22 -05:00
f0469035e1 emoji: Update data to CLDR v40
Based on emojibase-data v7.0.1
Contains the changes in Unicode 14.0

https://unicode.org/versions/Unicode14.0.0/
https://cldr.unicode.org/index/downloads/cldr-40
https://github.com/milesj/emojibase/blob/b85382524c/packages/data/CHANGELOG.md
(cherry picked from commit 7f5a24905685b4987d5bc9ed255c4d972714ebf8)
2023-12-22 10:40:22 -05:00
20e75366f7 emoji: Fix the convert-emoji program
The annotation field has been renamed to label in emojibase-data

https://github.com/milesj/emojibase/blob/b85382524c/packages/data/CHANGELOG.md
(cherry picked from commit 70ce353a58a97f02d6cbed8d411efcae63d1190b)
2023-12-22 10:40:22 -05:00
d89447d68e gtkgesture: Preserve accuracy when translating events
gtk_widget_translate_coordinates() uses int argument and thus cuts off
any decimal parts. This can leads to reduces accuracy when e.g.
measuring the distance of a drag.

GTK4 is not affected as the translations is done differently.
2023-12-20 14:30:20 +00:00
6d6a0c183c Merge branch 'gtk3-tooltip-fix-x11-positioning' into 'gtk-3-24'
GtkTooltip: Fix tooltip positioning on X11

See merge request GNOME/gtk!6442
2023-12-19 16:25:13 +00:00
d5bace3779 pathbar: Handle webdav where is the root is a path
Our webdav server has a root which is davs://mynextcloud/remote.php/webdav
When once creates a GFile out of or out of a subdirectory, and one call
g_file_get_parent(), it recurses too far up and try to query
davs://mynextcloud/remote.php which fails, resulting in a broken pathbar.

To fix that, before querying the metadata of each element of the path,
I query the "enclosing mount", then use it's root to compare the GFile
against.

This is a backport of !5830 to 3.24
2023-12-19 09:21:20 -05:00
bb1d5e7de7 GtkTooltip: Fix tooltip positioning on X11
On X11, gdk_window_move_to_rect() uses the position of the window to
calculate how it should be moved. However, any pending resizes that will
be executed on show() are not taken into account, resulting in
incorrectly positioned tooltips in case a tooltip window is re-used
often. This is not solved by gtk_widget_realize(), as this will do
nothing if the window is already realized.

Let's add a call to the private gtk_window_move_resize() function, so
that the size is always recalculated before the window is sent to
gdk_window_move_to_rect().

This exact fix was also needed in GtkMenu (7298e73c), with similar
reasoning.

Fixes #2142
Fixes #2227
2023-12-19 14:14:11 +01:00
6104130af2 Merge branch 'dialog-portal-cherry-pick' into 'gtk-3-24'
[gtk3] Cherry-pick gtkfilechoosernativeportal fixes from gtk4

See merge request GNOME/gtk!6612
2023-12-19 01:13:40 +00:00
e1d664da63 GtkMenu: Fix positioning when attached to offscreen windows
In order to do that, we have to make gdk_window_is_impl_offscreen ()
accessible from GTK via GdkPrivateVTable.
2023-12-13 12:34:41 +01:00
32d87ac907 [gtk3] Cherry-pick gtkfilechoosernativeportal fixes from gtk4
This was basically done copying the gtk4 version and keeping the changes
that weren't gtk4 specific.

Fixes #6224 (the chooser doesn't close but we don't crash or such)
2023-12-08 13:53:34 +01:00
f7e9fd076d macos: Implement delegate method to silence secure-restore message
Fix process injection vulnerability on macOS.

See https://sector7.computest.nl/post/2022-08-process-injection-breaking-all-macos-security-layers-with-a-single-vulnerability/.
2023-11-30 17:47:32 +01:00
307dde7f6c [gtk3] GtkFileChooserNative: Fix portal close.
This makes closing a portal file chooser work.

Fixes the GTK3 bits of #6225.
2023-11-25 03:32:47 +01:00
022c36a137 Fix _gtk_get_slowdown()
We need to pass void as the argument type.
2023-08-28 16:46:43 -04:00
3e6b832283 quartz: fix compilation problem introduced by !5648
Including plain "gdkquartz.h" ends with compilation error:

```
../gtk/gtkfilechoosernativequartz.c:43:10: fatal error: 'gdkquartz.h' file not found
#include "gdkquartz.h"
         ^~~~~~~~~~~~~
1 error generated.

```
2023-08-20 10:59:28 +02:00
6fd564d126 Merge branch 'michaelweghorn/gtk-3-24_a11y_fix_cell_position' into 'gtk-3-24'
a11y atspi: Fix reporting table cell pos at index (0,0)

See merge request GNOME/gtk!6173
2023-07-28 07:16:05 +00:00
0f717ca423 Merge branch 'fix-issue-5775' into 'gtk-3-24'
GtkApplicationImplDBus: Cancel DBus method calls on shutdown

See merge request GNOME/gtk!6180
2023-07-22 23:47:36 +00:00
7ca33ff994 GtkApplicationImplDBus: Cancel DBus method calls on shutdown
We do that for method calls where a non-NULL GAsyncReadyCallback
is passed.

Fixes #5775
2023-07-21 14:04:25 +02:00
272b6b4feb GtkMenu: Take offscreen windows in account for positioning 2023-07-13 16:31:58 +02:00
8951777518 a11y atspi: Fix reporting table cell pos at index (0,0)
Table (cell) row and column indices both start at 0, so
an index of 0 is valid.

Adapt the check accordingly and check for non-negative
indices instead of positive ones.

(`gtk_cell_accessible_parent_get_cell_position` sets -1
in the fallback case, so that's still handled as it used
to be.)

This fixes reporting the position of the table cell at
index (0,0) via AT-SPI.

Fixes: #5161
2023-07-07 15:55:36 +02:00
1e1e1a1b8b make gdkquartz-cocoa-access.h usable again
There is no need to include gdkquartz.h there,
which was making it impossible to include this header file
without also adding gdk/ as an include directory when compiling.
This patch moves the include to the only location where it is actually needed.
2023-07-03 15:19:39 -07:00
a6d40b610b Popover: Clarify/guard out rect of get_pointing_to
Clarify that we zero out the widget coords and only keep its dimensions.

If we have no widget to fall-back to, memset to 0 the output @rect since
we return FALSE whether or not we have widget, so protect users from not
knowing if there was a widget and possibly accessing uninitialised ints.

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/893#note_1766079
2023-06-11 11:37:45 +01:00
ad07e9043f popover: Remove useless if case
rect is not nullable, so stop checking if it is NULL and instead add a
g_return_val_if_fail guard.
2023-06-11 11:26:33 +01:00
c9f0b0d29b ScrolledWindow: Frame on viewport is not optional,
and seems always to default to true, so don't mention it being optional.
2023-06-11 11:22:45 +01:00
1d95b8ab26 gtkmountoperation: avoid SEGV after bad password input
I observed the following nautilus crash below after trying to access an SMB
share and mistyping my password (it also happens if mounting the SMB share
fails for other reasons after entering a password). The crash happens when
the password entry window pops up the second time, in this code path, at
the 7th element of priv->user_widgets:

458	pw_dialog_anonymous_toggled (GtkWidget         *widget,
459	                             GtkMountOperation *operation)
460	{
...
472	  for (l = priv->user_widgets; l != NULL; l = l->next)
473	    {
474	      gtk_widget_set_sensitive (GTK_WIDGET (l->data), !priv->anonymous);
475	    }

The broken element had l->data = 0xaaaaaaaaaaaa, which means the pointer had
been freed.

The broken list entries were at the of the list because when
gtk_mount_operation_ask_password_do_gtk() constucts the pop-up the 2nd time,
it prepends new widgets:

gtk_mount_operation_ask_password_do_gtk()
   table_add_entry
       operation->priv->user_widgets = g_list_prepend (operation->priv->user_widgets, entry);

The problem is that in pw_dialog_got_response(), the widget is destroyed,
which also destroys all child widgets, but the priv->user_widgets list is
neither freed nor set to NULL.

Fix it.
2023-06-02 16:30:28 +02:00
1659cefde7 Fix a typo
1. According to the UTF-8 spec, ASCII character's charcode is from
   0 to 127 inclusively.

2. Any charcode which is greater than or equal to 128 will be
   a multi-byte character.
2023-05-31 22:13:53 +08:00
6dc75b46cc Make sure that the charcode is signless
1. The data with type of char is signed by default.

2. The byte value of UTF-8 is signless by default.

3. So, if a UTF-8 charcode is stored in a char array, we should cast the
type of its value from char to unsigned char.
2023-05-29 09:52:38 +08:00
7e17693cce Use correct stat struct for ftw()
check_dir_mtime() is called by ftw() and is given
the real stat struct, not its glib version (which may
or may not be the same as "struct stat").

This is irrelevant for MSVC (it has no ftw()) and
works correctly for MinGW-w64 (which declares stat
structures correctly). If mingw.org complains, add
a special ifdef for it later.
2023-05-22 07:52:01 +02:00
a76ae3eb85 Fix a crash
Fix an oversight from fc1643956b.
2023-04-29 06:40:50 -04:00
fc1643956b application: Clean up signal handlers
This is the right thing to do and might help for #5775.
2023-04-26 14:09:44 +02:00
8e48e6548b Merge branch 'doc-link-fixes' into 'gtk-3-24'
docs: Fix some links

See merge request GNOME/gtk!5718
2023-03-25 14:20:24 +00:00
19c2e87627 docs: Fix some links
The links to the overview sections were all broken.
Fix them.
2023-03-25 10:09:00 -04:00
c26a209283 inspector: add im-module
This adds a new row to the Global/Information section which displays the
GTK im-module that is likely to be in use unless changed by an application.
It responds to updates of GtkSettings:gtk-im-module unless the
GTK_IM_MODULE environment variable is set.

Fixes #4512

(cherry picked from commit 6be352f4468b4dbbb1d71f427948dda154b9a658)
2023-03-23 21:26:33 +01:00
22dd7189bb inspector: Show the pango backend
(cherry picked from commit 7eb5dfd2947c8e8de0957f4339af66b47811f2c7)
2023-03-23 18:59:40 +01:00
c1fa916e88 Check for attribute availability before accessing it
Starting from GLib 2.76, the standard attribute getters in the GFileInfo
object will warn if the attribute is unset, instead of silently bailing
out and returning a default value.
2023-03-13 11:54:01 +00:00
2c951f122d dark theme: create $caret_color and use it
Fixes Evince showing a dark caret when using
dark theme, which makes it almost invisible.

This is in css node "textview text" of Evince
annotation window (a GtkScrolledWindow).

We create a new $caret_color var based on
$text_color and use it accordingly.

Fixes evince#1842
2023-03-12 18:50:56 -04:00
5fee632386 selection: Use the right mime type
The correct mime type for portal file transfers
is application/vnd.portal.filetransfer.

Fixes: #5643
2023-03-06 23:07:53 -05:00
b56202937a liststore: Fix gtk_list_store_iter_is_valid()
The iter may be invalid, so we may not read from it.

testsuite/gtk/treemodel tests this and valgrind is shouting about it,
but it never crashed until I just ran it...

This bug is from 2004 and the test is from 2007. I guess invalid memory
accesses don't get caught by CI much.
2023-03-02 19:29:42 -05:00
6402137bbf impcontextsimple: Return from GTask
GLib complains about this now, so do it.
2023-03-02 19:18:34 -05:00
a3c604d5cc gtkwindow: Fix fallbacks through xdg_activation_v1
When activating a window, avoid the "old" gdk_notify_startup_complete*()
API that does not fallback into xdg_activation on wayland (as this is still
deferred here until show vs present happens on the surface). This was
mistakenly changed wrt the original commit backported from GTK4.

Fixes: a067938589 ("gtkwindow: Minor refactor")
2023-03-01 17:14:01 +01:00
9f81db139d selection: Support the file transfer portal
When the selection target is application/vnd.portal.files,
send files through the file transfer portal.
2023-02-25 08:41:07 -05:00
857f734d83 searchengine: Emit a simple warning when tracker init failed
Failure is allowed by nature of GInitable, and this avoids unnecessary
crashing of programs running with G_DEBUG=fatal-criticals.

(cherry picked from commit 6215b38e645f5047d52e625562efccc1e4f85867)
2023-02-09 23:21:04 +01:00
8497425535 searchengine: Add missing sanity check
(cherry picked from commit 41490f96240eb04d85cbe5e1f264ab09ec00b9e0)
2023-02-09 23:20:47 +01:00
5554113c74 Merge branch 'gtk-3-24' into 'gtk-3-24'
Fixes incorrect grabbing behaviour causing subsequent rejection of input

See merge request GNOME/gtk!5212
2023-01-28 17:46:05 +00:00
15f0ac6f93 Remove warning 2023-01-28 14:20:49 +01:00
384d9a75cd Revert "Revert "wayland: Add support for gtk_surface1_titlebar_gesture()""
This reverts commit 5aaa373b70
2023-01-28 09:41:34 +00:00
5aaa373b70 Revert "wayland: Add support for gtk_surface1_titlebar_gesture()"
This reverts commit 45ba6e9329.

This caused regressions in libhandy-using applications.

Fixes: #5389
2023-01-27 21:34:44 -05:00