Simon McVittie [Tue, 24 Aug 2021 08:15:47 +0000 (09:15 +0100)]
New upstream version 4.4.0+ds1
Matthias Clasen [Fri, 20 Aug 2021 17:38:10 +0000 (13:38 -0400)]
4.4.0
Matthias Clasen [Fri, 20 Aug 2021 18:41:05 +0000 (14:41 -0400)]
Fix imcontext tests
We should force our internal im context for these
tests, so we don't depend on the environment.
Matthias Clasen [Fri, 20 Aug 2021 14:21:39 +0000 (14:21 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
NEWS: Updates
See merge request GNOME/gtk!3861
Matthias Clasen [Fri, 20 Aug 2021 13:24:04 +0000 (09:24 -0400)]
NEWS: Updates
Matthias Clasen [Fri, 20 Aug 2021 13:50:51 +0000 (13:50 +0000)]
Merge branch 'cut-shortcut-activation-short' into 'master'
shortcutcontroller: Only do round-robin for mnemonics
Closes #4130
See merge request GNOME/gtk!3824
Matthias Clasen [Tue, 3 Aug 2021 20:23:16 +0000 (16:23 -0400)]
shortcutcontroller: Only do round-robin for mnemonics
Don't do round-robin activation unless we are looking
for mnemonics, where this is an expected feature.
Fixes: #4130
Matthias Clasen [Fri, 20 Aug 2021 13:22:01 +0000 (13:22 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
gdk: Add a missing annotation
Closes #4097
See merge request GNOME/gtk!3860
Emmanuele Bassi [Fri, 20 Aug 2021 13:18:37 +0000 (13:18 +0000)]
Merge branch 'master' into 'master'
a11y: Send correct object reference for the root accessible
See merge request GNOME/gtk!3800
Matthias Clasen [Fri, 20 Aug 2021 12:57:27 +0000 (08:57 -0400)]
gdk: Add a missing annotation
Mark an array as zero-terminated.
Fixes: #4097
Matthias Clasen [Fri, 20 Aug 2021 11:31:16 +0000 (11:31 +0000)]
Merge branch 'add-support-for-windows-pointer-input-stack-gtk4' into 'master'
Add support for Windows Pointer Input Stack
Closes #262, #3162, #729, and #537
See merge request GNOME/gtk!3684
Matthias Clasen [Fri, 20 Aug 2021 06:18:07 +0000 (06:18 +0000)]
Merge branch 'block-cursor-fixes' into 'master'
textview: Don't eat block cursors
See merge request GNOME/gtk!3857
Matthias Clasen [Fri, 20 Aug 2021 05:55:50 +0000 (01:55 -0400)]
textview: Don't eat block cursors
We need to render even an empty paragraph when
it has a block cursor at the end. This fixes block
cursors not showing up in empty lines.
Matthias Clasen [Thu, 19 Aug 2021 21:19:40 +0000 (21:19 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
window: Make resizeability changes work
See merge request GNOME/gtk!3856
Matthias Clasen [Thu, 19 Aug 2021 20:03:58 +0000 (16:03 -0400)]
window: Make resizeability changes work
We were forgetting to update the toplevel
properties here.
Luca Bacci [Thu, 19 Aug 2021 14:29:45 +0000 (16:29 +0200)]
Move the _gdk_win32_pointer_input_api global variable into GdkWin32Display
Matthias Clasen [Fri, 16 Jul 2021 12:27:54 +0000 (08:27 -0400)]
windows: Update the docs for env vars
We've replaced some env vars with a new one.
Update the docs to match.
Luca Bacci [Mon, 16 Aug 2021 12:57:49 +0000 (14:57 +0200)]
Fix typo
Luca Bacci [Mon, 16 Aug 2021 12:56:49 +0000 (14:56 +0200)]
Disable visual feedback for pen ad touch
Luca Bacci [Mon, 16 Aug 2021 12:53:35 +0000 (14:53 +0200)]
Filter out spurious mouse messages while handling pen or touch input
Luca Bacci [Mon, 16 Aug 2021 12:39:25 +0000 (14:39 +0200)]
Add _gdk_win32_get_cursor_pos utility
Luca Bacci [Fri, 9 Jul 2021 13:17:17 +0000 (15:17 +0200)]
Handle WinPointer input
Luca Bacci [Fri, 2 Jul 2021 09:13:06 +0000 (11:13 +0200)]
Initialize WinPointer and enumerate devices
Luca Bacci [Fri, 2 Jul 2021 08:53:16 +0000 (10:53 +0200)]
Add new GdkDeviceWinpointer type
Luca Bacci [Wed, 18 Aug 2021 10:34:24 +0000 (12:34 +0200)]
Add winpointer.h header file for type declarations
Luca Bacci [Fri, 18 Jun 2021 11:47:40 +0000 (13:47 +0200)]
Add entry for WinPointer in GdkWin32TabletInputAPI enum
Luca Bacci [Fri, 18 Jun 2021 09:59:38 +0000 (11:59 +0200)]
Make room for other API's than Wintab
Luca Bacci [Fri, 18 Jun 2021 09:43:53 +0000 (11:43 +0200)]
Remove _gdk_input_ignore_wintab variable
Also remove unused variable _gdk_max_colors
Luca Bacci [Fri, 18 Jun 2021 09:36:08 +0000 (11:36 +0200)]
Rename some Wintab-related functions
Luca Bacci [Mon, 5 Jul 2021 14:13:59 +0000 (16:13 +0200)]
Set active physical device when using the mouse
Luca Bacci [Fri, 2 Jul 2021 08:17:13 +0000 (10:17 +0200)]
Move use of _gdk_win32_get_next_tick from synthesize_crossing_events to its callers
Luca Bacci [Fri, 2 Jul 2021 08:15:52 +0000 (10:15 +0200)]
Add a physical_device argument to send_crossing_event et al
Luca Bacci [Tue, 29 Jun 2021 12:27:13 +0000 (14:27 +0200)]
Raise _WIN32_WINNT macro to target Windows 7 API
Matthias Clasen [Thu, 19 Aug 2021 05:47:43 +0000 (01:47 -0400)]
Updates
Matthias Clasen [Thu, 19 Aug 2021 04:51:11 +0000 (04:51 +0000)]
Merge branch 'better-word-selection' into 'master'
textview: Improve word selection
Closes #4177
See merge request GNOME/gtk!3855
Matthias Clasen [Thu, 19 Aug 2021 04:33:03 +0000 (00:33 -0400)]
textview: Improve word selection
Avoid selecting a whole extra paragraph when a select-by-words
selection is extended beyond the end of the previous paragraph.
Fixes: #4177
Matthias Clasen [Thu, 19 Aug 2021 02:49:23 +0000 (02:49 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Cosmetics
See merge request GNOME/gtk!3854
Matthias Clasen [Thu, 19 Aug 2021 02:33:23 +0000 (22:33 -0400)]
Cosmetics
Benjamin Otte [Thu, 19 Aug 2021 01:42:26 +0000 (01:42 +0000)]
Merge branch 'wip/otte/for-master' into 'master'
demo: Add a dnd special-case for textures
See merge request GNOME/gtk!3853
Benjamin Otte [Thu, 19 Aug 2021 01:14:59 +0000 (03:14 +0200)]
gtk-demo: Make clipboard demo paste from clipboard
The old code was just pasting local clipboard data that we put there
ourselves and was causing criticals on remote clipboard data. Now the
code does the proper async paste.
Benjamin Otte [Thu, 19 Aug 2021 01:14:24 +0000 (03:14 +0200)]
contentprovider: Switch wrong order in type check
We can provide textures as a paintable - we can't provide paintables as
textures.
Benjamin Otte [Thu, 19 Aug 2021 00:15:59 +0000 (02:15 +0200)]
demo: Add a dnd special-case for textures
If the DND/clipboard machinery knows a texture is a texture, it will try
to serialize it. Paintables can't be serialized, so it wouldn't try.
Matthias Clasen [Wed, 18 Aug 2021 22:05:07 +0000 (22:05 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
infobar: Update buildable docs
Closes #4164
See merge request GNOME/gtk!3852
Matthias Clasen [Wed, 18 Aug 2021 21:42:54 +0000 (17:42 -0400)]
infobar: Update buildable docs
Document the current state of GtkBuilder support in
GtkInfoBar, not what we had in GTK3.
Fixes: #4164
Matthias Clasen [Wed, 18 Aug 2021 21:10:30 +0000 (21:10 +0000)]
Merge branch 'seat-v7' into 'master'
gdk/wayland: add support for wl_seat version 7
See merge request GNOME/gtk!3842
Matthias Clasen [Wed, 18 Aug 2021 18:24:37 +0000 (18:24 +0000)]
Merge branch 'fix/wm_class2' into 'master'
x11: ensure WM class is not null even if display is initialized early
See merge request GNOME/gtk!3808
Benjamin Otte [Wed, 18 Aug 2021 14:27:14 +0000 (14:27 +0000)]
Merge branch 'win32-drop-local-dnd' into 'master'
gdk/win32: Drop local DnD protocol
See merge request GNOME/gtk!3830
Matthias Clasen [Wed, 18 Aug 2021 12:19:57 +0000 (12:19 +0000)]
Merge branch 'win32-check-shader-support' into 'master'
GDK-Win32: Reject GL context if shaders aren't supported (fix issue #4165)
Closes #4165
See merge request GNOME/gtk!3850
Matthias Clasen [Wed, 18 Aug 2021 12:00:41 +0000 (12:00 +0000)]
Merge branch 'master' into 'master'
gtkbuilderparser: Fix duplicate object id detection
See merge request GNOME/gtk!3848
Ye Moran [Wed, 18 Aug 2021 12:00:40 +0000 (12:00 +0000)]
gtkbuilderparser: Fix duplicate object id detection
Matthias Clasen [Wed, 18 Aug 2021 03:24:41 +0000 (03:24 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Add a custom input test
See merge request GNOME/gtk!3851
Matthias Clasen [Wed, 18 Aug 2021 00:36:32 +0000 (20:36 -0400)]
imcontext: Improve docs
Add some more docs around GtkIMContext.
Matthias Clasen [Wed, 18 Aug 2021 01:55:33 +0000 (21:55 -0400)]
Add a custom input test
This shows the minimal work required to hook up an
im context to a custom widget.
Emmanuele Bassi [Tue, 17 Aug 2021 17:56:40 +0000 (17:56 +0000)]
Merge branch 'wip/exalm/query-action-transfer' into 'master'
widget: Fix gtk_widget_class_query_action() annotations
See merge request GNOME/gtk!3843
Chun-wei Fan [Tue, 17 Aug 2021 07:13:38 +0000 (15:13 +0800)]
GDK-Win32: Reject WGL context if shaders aren't supported
When we initialize OpenGL, check whether we have OpenGL 2.0 or later; if not,
check whether we have the 'GL_ARB_shader_objects' extension, since we must be
able to support shaders if using OpenGL for GTK.
If we don't support shaders, as some Windows graphics drivers do not support
OpenGL adequately, notably older Intel drivers, reject and destroy the GL
context that we created, and so fallback to the Cairo GSK renderer, so that
things continue to run, albeit with an expected warning message that the GL
context cannot be realized.
Also, when we could not make the created dummy WGL context current during
initialization, make sure that we destroy the dummy WGL context as well.
Fixes issue #4165.
Simon McVittie [Sun, 15 Aug 2021 15:22:28 +0000 (16:22 +0100)]
Merge remote-tracking branch 'origin/upstream/latest' into upstream/latest
Simon McVittie [Sun, 15 Aug 2021 14:58:31 +0000 (15:58 +0100)]
New upstream version 4.3.2+ds1
Simon McVittie [Sun, 15 Aug 2021 14:49:43 +0000 (15:49 +0100)]
New upstream version 4.3.2+ds
Benjamin Otte [Thu, 12 Aug 2021 12:36:28 +0000 (12:36 +0000)]
Merge branch 'wip/otte/for-master' into 'master'
gdk: Include Vulkan error code in vulkan_strerror()
See merge request GNOME/gtk!3844
Benjamin Otte [Thu, 12 Aug 2021 12:18:46 +0000 (14:18 +0200)]
gdk: Include Vulkan error code in vulkan_strerror()
Simon Ser [Wed, 11 Aug 2021 09:01:55 +0000 (11:01 +0200)]
gdk/wayland: add support for wl_seat version 7
Version 7 requires wl_keyboard keymaps to be mapped with
MAP_PRIVATE, so that the compositor can share the same keymap
file between multiple clients.
Simon Ser [Wed, 11 Aug 2021 08:59:35 +0000 (10:59 +0200)]
gdk/wayland: add support for wl_seat version 6
Version 6 adds two new wl_touch events, which can be ignored.
Alexander Mikhaylenko [Wed, 11 Aug 2021 09:33:38 +0000 (14:33 +0500)]
widget: Fix gtk_widget_class_query_action() annotations
Add transfer none on all out values as they aren't being copied.
Matthias Clasen [Tue, 10 Aug 2021 15:08:20 +0000 (15:08 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Handle the new line height pango attribute
See merge request GNOME/gtk!3840
Matthias Clasen [Tue, 10 Aug 2021 12:13:57 +0000 (08:13 -0400)]
ci: Add libjpeg-turbo-devel to the Fedora image
This was getting downloaded from sourceforge every
time for the docs build, and that started failing.
Matthias Clasen [Sat, 7 Aug 2021 16:11:29 +0000 (12:11 -0400)]
Handle the new line height pango attribute
Update all the places where we switch over PangoAttributeType
to handle (and ignore, for now) the new line height attribute.
Vincent Bernat [Sat, 31 Jul 2021 10:29:47 +0000 (12:29 +0200)]
x11: ensure WM class is not null even if display is initialized early
With gtkmm, when using `Application()`, the display is initialized
before we know the application name and therefore, the program class
associated to the display is NULL.
Instead of providing a default value, we set it equal to program name
when NULL. Moreover, we give up on capitalizing the class name to keep
the code super simple. Also, not using a capitalized name is
consistent with `gdk_x11_display_open()`. If someone has a good reason
to use a capitalized name, here is how to do it.
```c
class_hint = XAllocClassHint ();
class_hint->res_name = (char *) g_get_prgname ();
if (display_x11->program_class)
{
class_hint->res_class = (char *) g_strdup (display_x11->program_class);
}
else if (class_hint->res_name && class_hint->res_name[0])
{
class_hint->res_class = (char *) g_strdup (class_hint->res_name);
class_hint->res_class[0] = g_ascii_toupper (class_hint->res_class[0]);
}
XSetClassHint (xdisplay, impl->xid, class_hint);
g_free (class_hint->res_class);
XFree (class_hint);
```
Fix
eff53c023a26 ("x11: set a default value for program_class")
Matthias Clasen [Tue, 10 Aug 2021 01:16:56 +0000 (01:16 +0000)]
Merge branch 'callback-annotation-again' into 'master'
widget: Change callback scope
See merge request GNOME/gtk!3796
Benjamin Otte [Sun, 8 Aug 2021 01:09:31 +0000 (01:09 +0000)]
Merge branch 'wip/otte/for-master' into 'master'
ngl: Make current when unrealizing
See merge request GNOME/gtk!3835
Benjamin Otte [Sun, 8 Aug 2021 00:17:08 +0000 (02:17 +0200)]
ngl: Make current when unrealizing
The profiler (at least) discards GL objects and we want to discard them
on the right context.
Matthias Clasen [Sat, 7 Aug 2021 22:48:32 +0000 (22:48 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Cosmetics: Tweak css parser error messages
See merge request GNOME/gtk!3834
Matthias Clasen [Sat, 7 Aug 2021 22:16:19 +0000 (18:16 -0400)]
Cosmetics: Tweak css parser error messages
These show up in tooltips, so they should a) be capitalized
and b) not end with a period.
Andre Klapper [Sat, 7 Aug 2021 17:09:15 +0000 (19:09 +0200)]
Belarusian translation: Remove broken translation string
Andre Klapper [Sat, 7 Aug 2021 17:08:31 +0000 (19:08 +0200)]
Khmer translation: Strip some invisible bytes from setting translations
Matthias Clasen [Sat, 7 Aug 2021 16:56:56 +0000 (16:56 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
gtk-demo: Spruce up the hypertext demo
See merge request GNOME/gtk!3832
Yaron Shahrabani [Sat, 7 Aug 2021 16:51:31 +0000 (16:51 +0000)]
Update Hebrew translation
(cherry picked from commit
11e6ce175166364f7c807764a8de8619b65da82a)
Matthias Clasen [Sat, 7 Aug 2021 16:08:29 +0000 (12:08 -0400)]
gtk-demo: Spruce up the hypertext demo
Use the newish allow-breaks pango attribute
to make the text break better.
Danial Behzadi [Sat, 7 Aug 2021 14:48:55 +0000 (14:48 +0000)]
Update Persian translation
Danial Behzadi [Sat, 7 Aug 2021 14:44:44 +0000 (14:44 +0000)]
Update Persian translation
(cherry picked from commit
b467881274d4917fcc29ace6c699786ffa74e909)
Matthias Clasen [Fri, 6 Aug 2021 13:13:21 +0000 (13:13 +0000)]
Merge branch 'wip/chergert/revert-top-margin' into 'master'
Revert "textview: fix yoffset position when top_margin is set"
See merge request GNOME/gtk!3828
Chun-wei Fan [Tue, 22 Jun 2021 09:55:47 +0000 (17:55 +0800)]
gdk/win32: Drop local DnD protocol
It is basically not used by default and is pretty much broken at this point, so
it's about time to drop it.
Let's focus on fixing the OLE2 DnD protocol.
Matthias Clasen [Thu, 5 Aug 2021 19:17:54 +0000 (19:17 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
settings: Default gtk-split-cursor to FALSE
See merge request GNOME/gtk!3827
Christian Hergert [Thu, 5 Aug 2021 18:52:45 +0000 (11:52 -0700)]
Revert "textview: fix yoffset position when top_margin is set"
This reverts commit
908b1e5e1214afc01440bc07a8d937222f411f38.
This commit broke top-margin altogether.
Matthias Clasen [Thu, 5 Aug 2021 18:45:39 +0000 (18:45 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
text: Move setup code out of a loop
See merge request GNOME/gtk!3826
Matthias Clasen [Thu, 5 Aug 2021 18:05:28 +0000 (14:05 -0400)]
settings: Default gtk-split-cursor to FALSE
According to Owen, this was the intention when the setting
was added in 2001. It only took us 20 years to fix the
default value.
Matthias Clasen [Thu, 5 Aug 2021 16:41:04 +0000 (12:41 -0400)]
ci: Disable treeview-headers-hidden reftest
Somebody needs to figure out why it fails in ci so
frequently.
Matthias Clasen [Thu, 5 Aug 2021 16:39:52 +0000 (16:39 +0000)]
Merge branch 'wip/exalm/shadow-extents' into 'master'
Shrink shadow extents
See merge request GNOME/gtk!3825
Matthias Clasen [Thu, 5 Aug 2021 16:29:24 +0000 (12:29 -0400)]
text: Move setup code out of a loop
Just a cleanup, no functional change.
Matthias Clasen [Thu, 5 Aug 2021 02:07:43 +0000 (02:07 +0000)]
Merge branch 'fix-tab-not-captured-in-popover' into 'master'
popovermenu: Cycle around focus also with (Shift+)Tab
Closes #3915
See merge request GNOME/gtk!3732
vanadiae [Mon, 5 Jul 2021 17:33:08 +0000 (19:33 +0200)]
popover: Cycle around focus with (Shift+)Tab
Same thing as the previous popovermenu commit, except for the base popover
because the popovermenu needs special behaviour with e.g. sides arrow so
we need to have the "cycle around" for regular popovers here too.
vanadiae [Mon, 5 Jul 2021 17:20:58 +0000 (19:20 +0200)]
popovermenu: Cycle around focus also with (Shift+)Tab
Currently when moving the focus with (Shift+)Tab, it also traverses the window's
widgets, although it would be expected that the focus stays within the popover,
as it's (almost) like it's a separate window. This would be consistent with
the behaviour of the Up/down arrows, which do cycle around the focus once it
reaches the end.
So this commit makes the popovermenu cycle around focus in any direction, apart
from left/right because they are used to open and close submenus and it wouldn't
make sense anyway to cycle horizontally as there's usually only one widget per
line.
Alexander Mikhaylenko [Wed, 4 Aug 2021 09:24:35 +0000 (14:24 +0500)]
Shrink shadow extents
Long time ago, Cairo shadows in both GTK3 and 4 were drawn at a size about
twice their radius. Eventually this was fixed but the shadow extents are
still calculated for the previous size and appear unreasonably large: for
example, 141px for a 50px radius shadow. This can get very noticeable in
places such as invisible window frame which gets included into screenshots.
https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/3419 just divides the
radius by 2 when drawing a shadow with Cairo, do the same when calculating
extents.
See https://gitlab.gnome.org/GNOME/gtk/-/issues/3841
Matthias Clasen [Tue, 3 Aug 2021 11:20:56 +0000 (11:20 +0000)]
Merge branch 'combobox-keynav' into 'master'
treepopover: Add keynav
See merge request GNOME/gtk!3822
Matthias Clasen [Tue, 3 Aug 2021 03:49:05 +0000 (23:49 -0400)]
treepopover: Start adding keynav
Arrange for the items to be focusable, and add keyboard
activation. Still missing: cycling focus inside the
popover.
Matthias Clasen [Tue, 3 Aug 2021 01:05:16 +0000 (01:05 +0000)]
Merge branch 'big-keysyms' into 'master'
imcontext: Treat keysyms as 32bit values
Closes #4149
See merge request GNOME/gtk!3819
Matthias Clasen [Tue, 3 Aug 2021 01:00:13 +0000 (01:00 +0000)]
Merge branch 'surround-test' into 'master'
Remove an unimplemented function
Closes #4151
See merge request GNOME/gtk!3820
Matthias Clasen [Tue, 3 Aug 2021 00:42:01 +0000 (20:42 -0400)]
Add some GtkIMContext tests
For now, these check that the surrounding handling
in GtkText and GtkTextView is sane.
Fixes: #4151
Matthias Clasen [Tue, 3 Aug 2021 00:16:50 +0000 (20:16 -0400)]
textview: Fix the get_surrounding implementation
This was, sadly, returning garbage.
Matthias Clasen [Tue, 3 Aug 2021 00:16:23 +0000 (20:16 -0400)]
Add a private getter for the textview key controller
This will be used in tests.
Matthias Clasen [Mon, 2 Aug 2021 23:46:31 +0000 (19:46 -0400)]
Remove an unimplemented function
_gtk_entry_get_im_context does not exist.