Commit Graph

73338 Commits

Author SHA1 Message Date
Benjamin Otte
a790764a7a Merge branch 'wip/otte/for-main' into 'main'
gdk: Plug a memleak

Closes #5110

See merge request GNOME/gtk!4964
2022-08-19 01:08:59 +00:00
Benjamin Otte
248e33e3c9 gdk: Plug a memleak
Free GdkIOPipe struct when freeing it
Don't just free all its members.

Fixes #5110
2022-08-19 02:38:11 +02:00
Matthias Clasen
44931aa8f8 Merge branch 'treeview-search-focus' into 'main'
treeview: Always call grab_focus_without_selecting on search entry

Closes #4551

See merge request GNOME/gtk!4961
2022-08-18 23:51:02 +00:00
Luca Bacci
fb83adef25 Merge branch 'remove-msys2-ci-subproject-workaround' into 'main'
CI: remove workaround for some subproject builds failing on Windows

See merge request GNOME/gtk!4923
2022-08-18 18:40:05 +00:00
Matthias Clasen
08de13e9d2 Merge branch 'wip/carlosg/im-fixes' into 'main'
gtkimcontextwayland: Refactor handling of client updates

Closes #5106 and #5105

See merge request GNOME/gtk!4962
2022-08-18 17:58:26 +00:00
Carlos Garnacho
f66ffde68d gtkimcontextwayland: Refactor handling of client updates
Currently, the wayland IM context sends zwp_text_input_v3.commit from
a number of places, and some of them with partial data. In order to
make client state updates "atomic" and complete, make the communication
happen over an unified notify_im_change() function that happens on
a narrower set of circumstances:

  - The GtkIMContext is reset
  - The GtkIMContext is just focused
  - The gesture to invoke the OSK is triggered
  - The IM context is reacting to changes coming from the compositor

Notably, setting the cursor location or the surrounding text do not try
to commit state on their own, and now will be flushed with the corresponding
IM update or reset. But also, these requests won't be prevented from
happening individually on serial mismatch, instead it will be the whole
state commit which is held off.

With these changes in place, all client-side updates are notified
atomically to the compositor under a single .commit request.

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/5106
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/5105
2022-08-18 19:19:53 +02:00
Carlos Garnacho
52ac71b972 gtktextview: Shuffle the places doing IM reset
During text widget manipulation (inserting or deleting text via keyboard)
the IM context is reset somewhat early, before the actual change took place.
This makes IM lag behind in terms of surrounding text and cursor position.

Shuffle these IM reset calls so that they happen after the changes, and
ensure that the IM is actually reset, since that is currently toggled on
a pretty narrow set of circumstances.

Also, fix a bug during GtkEventControllerKey::im-update where the condition
on cursor position editability to reset the IM context was inverted.
2022-08-18 19:07:12 +02:00
Mat
27eaca8b79 treeview: Always call grab_focus_without_selecting on search entry
The search text entry is always a GtkText widget, not GtkEntry. If a
custom search entry is set, this part of the code is never reached.

Fixes #4551
2022-08-18 18:03:04 +03:00
Carlos Garnacho
9e29739e66 gtktext: Shuffle the places doing IM reset
During text widget manipulation (inserting or deleting text via keyboard)
the IM context is reset somewhat early, before the actual change took place.
This makes IM lag behind in terms of surrounding text and cursor position.

Shuffle these IM reset calls so that they happen after the changes, and
ensure that the IM is actually reset, since that is currently toggled on
a pretty narrow set of circumstances.
2022-08-18 00:55:30 +02:00
Matthias Clasen
82395e73ad Merge branch 'wip/smcv/rej' into 'main'
demos: Remove detritus from a patch not applying cleanly

See merge request GNOME/gtk!4957
2022-08-16 12:28:46 +00:00
Simon McVittie
0237713c3a demos: Remove detritus from a patch not applying cleanly
I assume this was committed by mistake. It isn't used, and some
packaging systems will automatically remove it during `clean`.

Signed-off-by: Simon McVittie <smcv@debian.org>
2022-08-16 08:32:45 +01:00
Jordi Mas
7e0e8365bd Update Catalan translation 2022-08-15 23:58:40 +02:00
Luca Bacci
fbd11fc595 Merge branch 'overshoot-win32-fix' into 'main'
GdkWin32: Support high resolution scroll wheel events

See merge request GNOME/gtk!4950
2022-08-15 21:33:19 +00:00
Matthias Clasen
bebaac64e1 Merge branch 'gtktreeview-adjustment' into 'main'
treeview: Do not set top row adjustment value while animating

Closes #4550

See merge request GNOME/gtk!4940
2022-08-14 22:40:32 +00:00
Matthias Clasen
1d232a725f Merge branch 'treeview-widget-coords' into 'main'
treeview: Use widget coordinates where required

See merge request GNOME/gtk!4939
2022-08-14 22:39:21 +00:00
Benjamin Otte
fb4312738d Merge branch 'wip/otte/for-main' into 'main'
listitemwidget: Actually unref the listitems

Closes #5102

See merge request GNOME/gtk!4955
2022-08-14 21:19:48 +00:00
Benjamin Otte
918dd66dca listitemwidget: Actually unref the listitems
Fixes #5102
2022-08-14 22:55:27 +02:00
Ricardo Maia Louro
6ceacee0f9 GdkWin32: Support high resolution scroll wheel events 2022-08-14 18:30:28 +01:00
Piotr Drąg
f1e81d176c Update Polish translation 2022-08-14 15:24:39 +02:00
Matthias Clasen
8d18b2b92d Merge branch 'fix-gears-leak' into 'main'
gtk4-demo: Fix a memory leak

See merge request GNOME/gtk!4954
2022-08-13 21:42:35 +00:00
Matthias Clasen
4a04e468fd gtk4-demo: Fix a memory leak
The gears demo was leaking its vertices.
2022-08-13 17:27:40 -04:00
Matthias Clasen
f8d1912098 Merge branch 'wayland-cursor-texture-leak' into 'main'
wayland: Avoid leaking cursor textures

See merge request GNOME/gtk!4953
2022-08-13 17:35:56 +00:00
Matthias Clasen
0bd15b44f2 wayland: Avoid leaking cursor textures
When we fall back to the default cursor and load it
from a resource, we need to free the texture.
2022-08-13 13:19:49 -04:00
Matthias Clasen
e4fb6933d2 Merge branch 'inscription-leak-fixes' into 'main'
inscription: Plug a memory leak

See merge request GNOME/gtk!4952
2022-08-13 00:49:33 +00:00
Matthias Clasen
33cf8f9404 inscription: Plug a memory leak
PangoFontMetrics also need to be freed.
2022-08-12 20:35:36 -04:00
Matthias Clasen
1640390839 inscription: Plug a memory leak
PangoLayoutIter needs to be freed.
2022-08-12 20:35:36 -04:00
Matthias Clasen
b01f28b9e2 Merge branch 'fix-cups-backend-leak' into 'main'
Add more valgrind suppressions

See merge request GNOME/gtk!4951
2022-08-12 23:00:44 +00:00
Matthias Clasen
62192cba6e cups printbackend: Plug memory leaks
This loop has many early exits, and all of them
need to free this info object that gets allocated
at the beginning.
2022-08-12 18:44:25 -04:00
Matthias Clasen
586826d34c Add more valgrind suppressions
This gets all GQuark functions out of the logs.
2022-08-12 12:44:02 -04:00
Matthias Clasen
c7a55faf37 Merge branch 'fix-a11y-leak' into 'main'
a11y: Fix a memory leak

See merge request GNOME/gtk!4949
2022-08-12 16:17:48 +00:00
Matthias Clasen
e81db46578 a11y: Fix a memory leak
We need to free the queued context list in dispose
if we didn't get to register the contexts, and we also
need to free the list properly when we do get to
register them.

This showed up in valgrind as leaked GList structs.
2022-08-12 12:01:42 -04:00
Goran Vidović
e036eebde8 Update Croatian translation 2022-08-12 14:33:14 +00:00
Goran Vidović
dfa45c0da2 Update Croatian translation 2022-08-12 14:25:29 +00:00
Goran Vidović
6692c7e9c4 Update Croatian translation 2022-08-12 14:22:10 +00:00
Zurab Kargareteli
671f33a7b8 Update Georgian translation 2022-08-12 03:32:05 +00:00
Matthias Clasen
0fee50d1a5 Merge branch 'fix-leak' into 'main'
gtk/css: data_url_path fix leak in error path

See merge request GNOME/gtk!4947
2022-08-12 00:09:15 +00:00
Pablo Correa Gómez
97d3363360
gtk/css: data_url_path fix leak in error path
Fixes 7900032f30
2022-08-12 01:34:18 +02:00
Matthias Clasen
6eb3548192 4.7.2 2022-08-11 14:26:50 -04:00
Matthias Clasen
e5a47b5592 Merge branch 'improve-css-test' into 'main'
css: Propagate charset conversion errors

See merge request GNOME/gtk!4943
2022-08-11 11:58:04 +00:00
Matthias Clasen
6c3119bc33 tests: Check the error first
The error contains useful information when
things fail, so check it first to get useful
output in case of failure.
2022-08-11 07:29:56 -04:00
Matthias Clasen
7900032f30 css: Propagate charset conversion errors
Lets not throw away informtation that
helps to figure out why things fail.
2022-08-11 07:29:56 -04:00
Matthias Clasen
a020cf7534 Merge branch 'matthiasc/for-main' into 'main'
jpeg loader: Limit memory consumption

See merge request GNOME/gtk!4942
2022-08-10 17:57:55 +00:00
Matthias Clasen
59f6c50df8 jpeg loader: Limit memory consumption
This will prevent stupid oom situations with pathological
jpeg files, without affecting our ability to load reasonable
images.
2022-08-10 13:25:17 -04:00
Matthias Clasen
bbd6fdaa04 Merge branch 'jx/hi-res-scrolling' into 'main'
High-resolution scroll wheel support

See merge request GNOME/gtk!3839
2022-08-10 16:51:55 +00:00
Carlos Garnacho
6a7136d5fb ci: Disable -Werror on wayland submodule
CI is mostly interested in GTK not introducing compiler warnings, other
submodules like Wayland might have their own and that shouldn't hinder
CI testing of GTK.

Disable -Werror for the wayland submodule, and let it be fixed independently
at some point.
2022-08-10 16:37:17 +02:00
José Expósito
95860d4989 gtkeventcontrollerscroll: Always accumulate discrete deltas
When GTK_EVENT_CONTROLLER_SCROLL_DISCRETE is set, accumulate deltas also
for mouse scroll so a high-resolution mouse wheel click behaves in the
in the same manner as a low-resolution mouse wheel click.
2022-08-10 14:23:58 +00:00
José Expósito
37a561eb53 gdk/x11: Handle high-resolution scroll events 2022-08-10 14:23:58 +00:00
José Expósito
ed0a2a203c gdk/wayland: Handle high-resolution scroll events
Starting with the Wayland protocol wl_pointer >= 8, discrete axis
events have been deprecated in favour of high-resolution scroll event.

Add a listener for high-resolution scroll events and, for backwards
compatibility, handle discrete events as discrete*120.
2022-08-10 14:23:58 +00:00
José Expósito
fc3aca8223 gdk/wayland: Calculate discrete scroll direction in its helper
Refactor, no functional changes.
2022-08-10 14:23:58 +00:00
José Expósito
6ebb38e12e gdk/events: Set discrete scroll deltas in its constructor
Instead of calculating the discrete scroll deltas in
GtkEventControllerScroll, move that code to the event constructor and
access the precalculated values using gdk_scroll_event_get_deltas.

Refactor, no functional changes.
2022-08-10 14:23:58 +00:00