Commit Graph

53157 Commits

Author SHA1 Message Date
c06c7bdc6a gdk/wayland: Don't fall back directly to 1 for mismatched cursor sizes.
Try to find a lower scale that still works. In most cases this will end
up with a 2-scaled cursor rather than 3-scaled cursor.

Fixes #5567
2023-09-04 15:17:50 +02:00
292893f9d7 Update Punjabi translation 2023-09-02 03:09:28 +00:00
4560664fff [gdk-quartz] Set POPUP_MENU type hint for GDK_WINDOW_TEMP.
GDK_WINDOW_TEMP is set only for GTK_WINDOW_POPUP. If the type_hint
is left at the default GDK_WINDOW_TYPE_HINT_NORMAL the Quartz WM
will fullscreen it, which isn't desirable for popup menus or other
popups.

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/5716
2023-08-28 20:23:13 -07:00
022c36a137 Fix _gtk_get_slowdown()
We need to pass void as the argument type.
2023-08-28 16:46:43 -04:00
f14e945342 Update fa.po 2023-08-25 22:48:56 +00:00
ca4a076e57 Update Georgian translation 2023-08-24 23:47:03 +00:00
46b24bb1c3 Merge Jiří Techet's 'include_fix' into gtk-3-24. 2023-08-20 09:56:25 -07: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
6b29a201da Update Kazakh translation 2023-08-19 06:54:41 +00:00
b05ade591b Update Georgian translation 2023-08-12 10:50:40 +00:00
d1ead5b443 Update Turkish translation 2023-08-08 10:44:05 +00:00
2d7ff5b79c Update Turkish translation 2023-08-08 10:43:55 +00:00
8233d9254d Update Romanian translation 2023-08-05 15:49:32 +00:00
863b399899 Update Slovenian translation 2023-07-28 15:57:04 +00: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
34fc4d0a17 Merge branch 'set-transient-for-offscreen-windows' into 'gtk-3-24'
GdkWindow: Check for offscreen windows in set_transient_for ()

See merge request GNOME/gtk!6184
2023-07-22 23:43:37 +00:00
d23e5e8b11 Update Greek translation 2023-07-21 22:37:54 +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
c0a09448da Update Spanish translation 2023-07-19 12:38:16 +00:00
e5732e7569 Update fa.po 2023-07-17 16:27:49 +00:00
272b6b4feb GtkMenu: Take offscreen windows in account for positioning 2023-07-13 16:31:58 +02:00
3e3266dce4 GdkWindow: Check for offscreen windows in set_transient_for ()
Fixes https://gitlab.gnome.org/GNOME/gimp/-/issues/6711
2023-07-13 16:24:42 +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
fc32ff89c5 Merge branch 'wip/carlosg/switch-stylus-buttons-3-24' into 'gtk-3-24'
[3.24] gdk/wayland: Switch behavior of BTN_STYLUS/STYLUS2 as middle/right click

See merge request GNOME/gtk!6169
2023-07-06 11:11:32 +00:00
e205bdaa89 gdk/wayland: Switch behavior of BTN_STYLUS/STYLUS2 as middle/right click
This mapping of stylus evdev input event codes into GDK button numbers
makes gdk/wayland inconsistent with gdk/x11, so depending on the backend
the same button middle-click pastes or right-click pops up menus.

Make the wayland backend consistent with X11, so that a GNOME wayland
session gets these buttons consistently mapped across all kinds of
clients.

(cherry-picked from commit e28ff79bec53ecd56885390ba4a66019cde598c6)
2023-07-06 12:39:09 +02:00
e1f3ce5cce Merge Antoine Martin's MR 5648 into gtk-3-24. 2023-07-03 15:23:01 -07: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
43a99b1c8e Merge branch 'wip/otte/for-gtk-3-24' into 'gtk-3-24'
Check for GLsync before using it

See merge request GNOME/gtk!6162
2023-07-01 21:32:04 +00:00
cf7decae1a gdkgl: Check for GLsync before using it
Copy what we do in GTK4: Check for GL >= 3.2 or GLES >= 3.0 or the
GL_ARB_sync extension.
Then store that info for a (private) gdk_gl_context_has_sync()
function.
And then check that function before using GLsync objects as introduced
by commit 9811485990.

Fixes #5749
2023-07-01 22:58:28 +02:00
f94f94af51 Update British English translation 2023-06-30 18:40:07 +00:00
ce20f3c6e4 Merge branch 'fix-issue-5877' into 'gtk-3-24'
GdkWin32: Use scaled coordinates for move_resize_drag()

See merge request GNOME/gtk!6132
2023-06-30 04:06:58 +00:00
6f12c9c5de GdkWin32: Fix warning due to changed device count 2023-06-27 15:53:14 +02:00
04b0cc70c1 WinPointer: Actually destroy GdkDeviceTools 2023-06-27 15:48:35 +02:00
0fa2ff5511 Update Catalan translation 2023-06-22 21:02:10 +02:00
6d0f34103d GdkWin32: Use scaled coordinates for move_resize_drag()
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/5877
2023-06-21 17:00:00 +02:00
7141305972 Merge branch 'wip/carlosg/pad-detection-3-24' into 'gtk-3-24'
Pad detection fixes (3.24)

See merge request GNOME/gtk!6095
2023-06-14 00:10:23 +00:00
a9d7198d63 gdk/wayland: Return pad devices querying for all devices
These devices unfortunately didn't ever get a capability flag in
3.24 (fixed in GTK4). We are very far off into maintenance grounds that
it is not ideal to add new flag values, but we could however return
these devices if GDK_SEAT_CAPABILITY_ALL is being asked.

Do that, so it is possible to deal with pad devices, even if it's
not possible to query them specifically.
2023-06-14 00:33:12 +02:00
81029b824b gdk/wayland: Ensure device-added/removed emission in GdkSeat
We've used to emit these in the GdkDeviceManager, but missed to do
this signal emission at the GdkSeat object level. In order to avoid
the double emission, trigger one from the other.
2023-06-14 00:33:12 +02:00
6070f10922 gdk/wayland: Create pad devices on enter
We were creating the pad device on wp_tablet_pad.done, but
at that time we do not know what tablet it is associated with,
thus we cannot get appropriate vid/pid/name properties for it.

To get that, we need to wait for the pad to enter a surface,
at that time we do know what tablet it is associated with, so
we can get better information about the device.

There are pads that may plausibly "change" tablet between
one .enter event and the next (e.g. Wacom Express Key Remote),
but this situation is highly unlikely. The pad devices created
are thus persistent until that situation happens.
2023-06-14 00:33:12 +02:00
4d9ca4e0b6 Update Slovak translation 2023-06-13 12:10:56 +00:00
eb379bfdd7 Update Czech translation 2023-06-12 13:15:19 +00: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
6803508442 Merge branch 'gtk-3-24' into 'gtk-3-24'
gtkmountoperation: avoid SEGV after bad password input

See merge request GNOME/gtk!6049
2023-06-02 14:57:10 +00: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
0f990e8157 Merge branch 'gtk-3-24+trap-bad-rr-errors' into 'gtk-3-24'
[GTK3] x11: Trap XRandr errors when getting outputs during init and update

See merge request GNOME/gtk!6047
2023-06-02 11:32:04 +00:00
b938e4e6ac x11: Trap XRandr errors when getting outputs during init and update
We may try to update the XRR outputs and Crtcs when they're changing in
the server, and so we may get BadRROutput that we're currently not
handling properly.

As per this, use traps and check whether we got errors, and if we did
let's ignore the current output.

It's not required to call init_randr13() again because if we got errors
it's very likely that there's a change coming that will be notified at
next iteration during which we'll repeat the init actions.
2023-06-02 00:31:44 +02:00
06bf07bed3 Merge branch 'fix-slow-perf-x11-gl' into 'gtk-3-24'
Remove slow and unnecessary X11 code-path when using OpenGL functionality

See merge request GNOME/gtk!6042
2023-06-01 10:55:25 +00:00