gtk4.git
3 years agoMerge branch 'fix-gears-leak' into 'main'
Matthias Clasen [Sat, 13 Aug 2022 21:42:35 +0000 (21:42 +0000)]
Merge branch 'fix-gears-leak' into 'main'

gtk4-demo: Fix a memory leak

See merge request GNOME/gtk!4954

3 years agogtk4-demo: Fix a memory leak
Matthias Clasen [Sat, 13 Aug 2022 21:27:40 +0000 (17:27 -0400)]
gtk4-demo: Fix a memory leak

The gears demo was leaking its vertices.

3 years agoMerge branch 'wayland-cursor-texture-leak' into 'main'
Matthias Clasen [Sat, 13 Aug 2022 17:35:56 +0000 (17:35 +0000)]
Merge branch 'wayland-cursor-texture-leak' into 'main'

wayland: Avoid leaking cursor textures

See merge request GNOME/gtk!4953

3 years agowayland: Avoid leaking cursor textures
Matthias Clasen [Sat, 13 Aug 2022 17:19:49 +0000 (13:19 -0400)]
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.

3 years agoMerge branch 'inscription-leak-fixes' into 'main'
Matthias Clasen [Sat, 13 Aug 2022 00:49:33 +0000 (00:49 +0000)]
Merge branch 'inscription-leak-fixes' into 'main'

inscription: Plug a memory leak

See merge request GNOME/gtk!4952

3 years agoinscription: Plug a memory leak
Matthias Clasen [Sat, 13 Aug 2022 00:02:58 +0000 (20:02 -0400)]
inscription: Plug a memory leak

PangoFontMetrics also need to be freed.

3 years agoinscription: Plug a memory leak
Matthias Clasen [Sat, 13 Aug 2022 00:01:34 +0000 (20:01 -0400)]
inscription: Plug a memory leak

PangoLayoutIter needs to be freed.

3 years agoMerge branch 'fix-cups-backend-leak' into 'main'
Matthias Clasen [Fri, 12 Aug 2022 23:00:44 +0000 (23:00 +0000)]
Merge branch 'fix-cups-backend-leak' into 'main'

Add more valgrind suppressions

See merge request GNOME/gtk!4951

3 years agocups printbackend: Plug memory leaks
Matthias Clasen [Fri, 12 Aug 2022 22:44:25 +0000 (18:44 -0400)]
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.

3 years agoAdd more valgrind suppressions
Matthias Clasen [Fri, 12 Aug 2022 16:43:26 +0000 (12:43 -0400)]
Add more valgrind suppressions

This gets all GQuark functions out of the logs.

3 years agoMerge branch 'fix-a11y-leak' into 'main'
Matthias Clasen [Fri, 12 Aug 2022 16:17:48 +0000 (16:17 +0000)]
Merge branch 'fix-a11y-leak' into 'main'

a11y: Fix a memory leak

See merge request GNOME/gtk!4949

3 years agoa11y: Fix a memory leak
Matthias Clasen [Fri, 12 Aug 2022 16:01:42 +0000 (12:01 -0400)]
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.

3 years agoUpdate Croatian translation
Goran Vidović [Fri, 12 Aug 2022 14:33:14 +0000 (14:33 +0000)]
Update Croatian translation

3 years agoUpdate Croatian translation
Goran Vidović [Fri, 12 Aug 2022 14:25:29 +0000 (14:25 +0000)]
Update Croatian translation

3 years agoUpdate Croatian translation
Goran Vidović [Fri, 12 Aug 2022 14:22:10 +0000 (14:22 +0000)]
Update Croatian translation

3 years agoUpdate Georgian translation
Zurab Kargareteli [Fri, 12 Aug 2022 03:32:05 +0000 (03:32 +0000)]
Update Georgian translation

3 years agoMerge branch 'fix-leak' into 'main'
Matthias Clasen [Fri, 12 Aug 2022 00:09:15 +0000 (00:09 +0000)]
Merge branch 'fix-leak' into 'main'

gtk/css: data_url_path fix leak in error path

See merge request GNOME/gtk!4947

3 years agogtk/css: data_url_path fix leak in error path
Pablo Correa Gómez [Thu, 11 Aug 2022 23:33:39 +0000 (01:33 +0200)]
gtk/css: data_url_path fix leak in error path

Fixes 7900032f3067166502978413ed2447c68dc83771

3 years ago4.7.2
Matthias Clasen [Wed, 10 Aug 2022 18:27:54 +0000 (14:27 -0400)]
4.7.2

3 years agoMerge branch 'improve-css-test' into 'main'
Matthias Clasen [Thu, 11 Aug 2022 11:58:04 +0000 (11:58 +0000)]
Merge branch 'improve-css-test' into 'main'

css: Propagate charset conversion errors

See merge request GNOME/gtk!4943

3 years agotests: Check the error first
Matthias Clasen [Thu, 11 Aug 2022 11:18:39 +0000 (07:18 -0400)]
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.

3 years agocss: Propagate charset conversion errors
Matthias Clasen [Thu, 11 Aug 2022 11:17:55 +0000 (07:17 -0400)]
css: Propagate charset conversion errors

Lets not throw away informtation that
helps to figure out why things fail.

3 years agoMerge branch 'matthiasc/for-main' into 'main'
Matthias Clasen [Wed, 10 Aug 2022 17:57:55 +0000 (17:57 +0000)]
Merge branch 'matthiasc/for-main' into 'main'

jpeg loader: Limit memory consumption

See merge request GNOME/gtk!4942

3 years agojpeg loader: Limit memory consumption
Matthias Clasen [Wed, 10 Aug 2022 17:25:17 +0000 (13:25 -0400)]
jpeg loader: Limit memory consumption

This will prevent stupid oom situations with pathological
jpeg files, without affecting our ability to load reasonable
images.

3 years agoMerge branch 'jx/hi-res-scrolling' into 'main'
Matthias Clasen [Wed, 10 Aug 2022 16:51:55 +0000 (16:51 +0000)]
Merge branch 'jx/hi-res-scrolling' into 'main'

High-resolution scroll wheel support

See merge request GNOME/gtk!3839

3 years agoci: Disable -Werror on wayland submodule
Carlos Garnacho [Wed, 10 Aug 2022 14:35:28 +0000 (16:35 +0200)]
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.

3 years agogtkeventcontrollerscroll: Always accumulate discrete deltas
José Expósito [Mon, 20 Sep 2021 18:00:04 +0000 (20:00 +0200)]
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.

3 years agogdk/x11: Handle high-resolution scroll events
José Expósito [Mon, 20 Sep 2021 18:00:04 +0000 (20:00 +0200)]
gdk/x11: Handle high-resolution scroll events

3 years agogdk/wayland: Handle high-resolution scroll events
José Expósito [Mon, 20 Sep 2021 17:59:58 +0000 (19:59 +0200)]
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.

3 years agogdk/wayland: Calculate discrete scroll direction in its helper
José Expósito [Mon, 20 Sep 2021 17:59:52 +0000 (19:59 +0200)]
gdk/wayland: Calculate discrete scroll direction in its helper

Refactor, no functional changes.

3 years agogdk/events: Set discrete scroll deltas in its constructor
José Expósito [Mon, 20 Sep 2021 17:59:45 +0000 (19:59 +0200)]
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.

3 years agogdk/events: Add constructor for high-resolution scroll events
José Expósito [Mon, 20 Sep 2021 17:59:35 +0000 (19:59 +0200)]
gdk/events: Add constructor for high-resolution scroll events

Starting with Linux Kernel v5.0 two new axes are available for
mice that support high-resolution wheel scrolling: REL_WHEEL_HI_RES and
REL_HWHEEL_HI_RES.

Both axes send data in fractions of 120 where each multiple of 120
amounts to one logical scroll event. Fractions of 120 indicate a wheel
movement less than one detent.

The 120 magic number is a copy of the Windows API, so this new
constructor can be used both in Linux >= 5.0 and Windows >= Vista.

3 years agobuild: Update Wayland to >= 1.21.0
José Expósito [Mon, 18 Jul 2022 17:04:10 +0000 (19:04 +0200)]
build: Update Wayland to >= 1.21.0

3 years agoUpdate Catalan translation
Jordi Mas [Wed, 10 Aug 2022 12:27:44 +0000 (14:27 +0200)]
Update Catalan translation

3 years agoMerge branch 'rounded-clip-node-new-transfer-full' into 'main'
Emmanuele Bassi [Wed, 10 Aug 2022 09:23:02 +0000 (09:23 +0000)]
Merge branch 'rounded-clip-node-new-transfer-full' into 'main'

Mark gsk_rounded_clip_node_new() return value as (transfer full)

See merge request GNOME/gtk!4941

3 years agoMark gsk_rounded_clip_node_new() return value as (transfer full)
Sebastian Dröge [Wed, 10 Aug 2022 08:07:51 +0000 (11:07 +0300)]
Mark gsk_rounded_clip_node_new() return value as (transfer full)

Like all the other constructors for nodes already do. Without this,
newly created rounded clip nodes are leaked in bindings.

3 years agoMerge branch 'gbsneto/paned-focus-infloop' into 'main'
Carlos Garnacho [Tue, 9 Aug 2022 18:26:48 +0000 (18:26 +0000)]
Merge branch 'gbsneto/paned-focus-infloop' into 'main'

paned: Protect against NULL variable

Closes #5094

See merge request GNOME/gtk!4938

3 years agoMerge branch 'wip/carlosg/fix-crossing-on-unmap' into 'main'
Matthias Clasen [Tue, 9 Aug 2022 18:15:41 +0000 (18:15 +0000)]
Merge branch 'wip/carlosg/fix-crossing-on-unmap' into 'main'

gtkwindow: Use pointer-oriented function to deal with crossing events

Closes #5094

See merge request GNOME/gtk!4937

3 years agogtkwindow: Use pointer-oriented function to deal with crossing events
Carlos Garnacho [Tue, 9 Aug 2022 16:49:35 +0000 (18:49 +0200)]
gtkwindow: Use pointer-oriented function to deal with crossing events

Commit adba0b97 fixed missed pointer crossings by using a helper function that
was already present and looked like did everything that was needed. However
this function was oriented to keyboard focus and it also did update the related
widget state. Doing these changes on pointer-based crossing was misuse, and
could cause weird interactions with keyboard focus management.

Fix this by using gtkmain.c gtk_synthesize_crossing_event() that is in fact
oriented to pointers.

Fixes: adba0b97 (gtkwindow: Synthesize pointer crossing events on state changes)
Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/5094
3 years agopaned: Warn if child is not actually a child
Georges Basile Stavracas Neto [Tue, 9 Aug 2022 17:20:25 +0000 (14:20 -0300)]
paned: Warn if child is not actually a child

This will at least allow us to debug this in the future.

3 years agogtkmain: Pass coordinates when synthesizing pointer events
Carlos Garnacho [Tue, 9 Aug 2022 16:47:14 +0000 (18:47 +0200)]
gtkmain: Pass coordinates when synthesizing pointer events

Instead of passing an event and figuring out coordinates from it, pass
directly the toplevel coordinates so that we can use this outside event
handling.

All callers have been updated to pass the coordinates, in practical effects
they were already based on the GtkNative.

3 years agopaned: Protect against NULL variable
Georges Basile Stavracas Neto [Tue, 9 Aug 2022 16:11:01 +0000 (13:11 -0300)]
paned: Protect against NULL variable

The inner loop in gtk_paned_set_focus_child() tries to find the
topmost GtkPaned, however, if the `w` variable ends up becoming
NULL after bubbling up the entire GtkWidget hierarchy, this loop
never breaks.

Check for NULL in this loop.

Closes https://gitlab.gnome.org/GNOME/gtk/-/issues/5094

3 years agoUpdate Indonesian translation
Kukuh Syafaat [Tue, 9 Aug 2022 02:12:09 +0000 (02:12 +0000)]
Update Indonesian translation

3 years agoUpdate Occitan translation
Quentin PAGÈS [Mon, 8 Aug 2022 20:49:35 +0000 (20:49 +0000)]
Update Occitan translation

3 years agoMerge branch 'wip/exalm/multiplier' into 'main'
Carlos Garnacho [Mon, 8 Aug 2022 12:00:15 +0000 (12:00 +0000)]
Merge branch 'wip/exalm/multiplier' into 'main'

scrolledwindow: Lower the scroll multiplier

See merge request GNOME/gtk!4933

3 years agoUpdated Spanish translation
Daniel Mustieles [Mon, 8 Aug 2022 10:42:06 +0000 (12:42 +0200)]
Updated Spanish translation

3 years agoscrolledwindow: Lower the scroll multiplier
Alexander Mikhaylenko [Sun, 7 Aug 2022 20:03:51 +0000 (00:03 +0400)]
scrolledwindow: Lower the scroll multiplier

c68247f63ba1db8849eb1679e53a64f7f2633973 introduced a scroll multiplier,
intended to be significantly lower than the GTK 4.6 behavior but higher
than 1. However, it was _higher_ than 4.6, since 4.6 also had a permanent
1/10 multiplier in GDK, so the cited multiplier values were really 6.4 and
9.7.

3 years agoMerge branch 'build-fix-glib-2.66' into 'main'
Matthias Clasen [Sun, 7 Aug 2022 19:09:04 +0000 (19:09 +0000)]
Merge branch 'build-fix-glib-2.66' into 'main'

build: fix for use with glib 2.66.0 (2nd try)

See merge request GNOME/gtk!4932

3 years agoMerge branch 'wip/carlosg/scroll-overshoot' into 'main'
Matthias Clasen [Sun, 7 Aug 2022 19:01:25 +0000 (19:01 +0000)]
Merge branch 'wip/carlosg/scroll-overshoot' into 'main'

gtk/scrolledwindow: Check for overshoot setting up kinetic scroll helpers

Closes #4784

See merge request GNOME/gtk!4909

3 years agoApply 1 suggestion(s) to 1 file(s)
Emmanuele Bassi [Sun, 7 Aug 2022 18:54:19 +0000 (18:54 +0000)]
Apply 1 suggestion(s) to 1 file(s)

3 years agogtk/scrolledwindow: Check for overshoot setting up kinetic scroll helpers
Carlos Garnacho [Fri, 29 Jul 2022 18:34:55 +0000 (20:34 +0200)]
gtk/scrolledwindow: Check for overshoot setting up kinetic scroll helpers

We may have situations where velocity is 0/0, but are overshooting. Places where
this happens are mouse wheels, and continuous scroll that ended up still before
finish. In this situation we also want to run the animation for overshoot, so
check for the corresponding axes to also set up the kinetic scroll helper.

Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4784
3 years agoMerge branch 'wip/carlosg/fixes' into 'main'
Matthias Clasen [Sun, 7 Aug 2022 18:06:28 +0000 (18:06 +0000)]
Merge branch 'wip/carlosg/fixes' into 'main'

Some fixes

Closes #2877 and #5003

See merge request GNOME/gtk!4929

3 years agoMerge branch 'clipboard-seg2' into 'main'
Emmanuele Bassi [Sun, 7 Aug 2022 16:21:40 +0000 (16:21 +0000)]
Merge branch 'clipboard-seg2' into 'main'

x11: Don't assume valid type

See merge request GNOME/gtk!4912

3 years agogtkscrolledwindow: Add fixed multiplier to scroll events in surface units
Carlos Garnacho [Fri, 5 Aug 2022 15:13:28 +0000 (17:13 +0200)]
gtkscrolledwindow: Add fixed multiplier to scroll events in surface units

The expected configurability is not going to arrive yet from compositors, and
it is precipitate for GTK to gain any configurability. We do know a factor of 1
feels way too slow, and we do know a factor of page_size * pow (2 / 3) feels way
way too fast.

With the previous multiplier, gtk4-demo at its default size had a vertical textview
factor of 64.332901, and maximized on a 1920x1080 screen a factor of 97.585365.
Pick a magic multiplier that is both significantly below these values and above 1,
and stick to it.

Future work will add the configurability of smooth scroll events where it belongs.
At that point this commit may be reverted so we don't pile up on magic numbers again.

Related: https://gitlab.gnome.org/GNOME/gtk/-/issues/4793

3 years agoUpdate Basque translation
Asier Sarasua Garmendia [Sun, 7 Aug 2022 09:49:00 +0000 (09:49 +0000)]
Update Basque translation

3 years agoUpdate Portuguese translation
Hugo Carvalho [Sat, 6 Aug 2022 23:01:57 +0000 (23:01 +0000)]
Update Portuguese translation

3 years agoUpdate Persian translation
Danial Behzadi [Sat, 6 Aug 2022 22:43:23 +0000 (22:43 +0000)]
Update Persian translation

3 years agobuild: fix for use with glib 2.66.0
Hannes Müller [Fri, 5 Aug 2022 11:35:06 +0000 (13:35 +0200)]
build: fix for use with glib 2.66.0

Add missing #define g_memdup2() for gdksurface-broadway.c in case of enabled
broadway-backend as used otherwise.

Copy static would_drop() replacement for g_log_writer_default_would_drop()
from gtk-builder-tool.c to gtk-reftest.c

3 years agoUpdate Russian translation
Aleksandr Melman [Sat, 6 Aug 2022 14:44:53 +0000 (14:44 +0000)]
Update Russian translation

3 years agogtkwindow: Synthesize pointer crossing events on state changes
Carlos Garnacho [Fri, 5 Aug 2022 14:39:56 +0000 (16:39 +0200)]
gtkwindow: Synthesize pointer crossing events on state changes

When widgets go mapped/unmapped, we repick but don't generate crossing
events. Since there could be stateful controllers that use those in
the previously picked widget (e.g. GtkEventControllerMotion), skipping
those breaks their state.

Ensure to send the relevant crossing events on every situation that
changes the pointer focus, so these controllers get a fair opportunity
to undo their state.

Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2877
3 years agogdk/wayland: Drop surface checks on wl_pointer.leave handling
Carlos Garnacho [Fri, 5 Aug 2022 16:33:50 +0000 (18:33 +0200)]
gdk/wayland: Drop surface checks on wl_pointer.leave handling

Even though the argument is non-nullable, GTK sometimes incurs in that
by itself by destroying the surface while the event is in flight. This
is the case of popping down a GtkDropdown. When this happens we simply
ignore the crossing event, but we should let it through instead, the
compositor did not send it in vain and we possibly still have pointer
state to undo.

Drop the surface checks, so that the event is propagated along GTK.

3 years agogtkeventcontroller: Fix internal enum documentation
Carlos Garnacho [Fri, 5 Aug 2022 14:38:56 +0000 (16:38 +0200)]
gtkeventcontroller: Fix internal enum documentation

Copy and paste typo.

3 years agogtkgesturerotate: Filter touchpad holds events
Carlos Garnacho [Fri, 5 Aug 2022 08:53:22 +0000 (10:53 +0200)]
gtkgesturerotate: Filter touchpad holds events

Since the pinch touchpad gestures already have begin/update/end phases,
this gesture has no actual use for these events.

3 years agogtkgesturerotate: Filter touchpad holds events
Carlos Garnacho [Fri, 5 Aug 2022 08:50:45 +0000 (10:50 +0200)]
gtkgesturerotate: Filter touchpad holds events

Since the pinch touchpad gestures already have begin/update/end phases,
this gesture has no actual use for these events.

3 years agogdkevent: Give touchpad hold events a sequence
Carlos Garnacho [Fri, 5 Aug 2022 09:35:28 +0000 (11:35 +0200)]
gdkevent: Give touchpad hold events a sequence

Following what was done for pinch/swipe events, give hold gestures their
own distinct sequence as well. Without this it was NULL, which was already
distinct to other touchpad gestures.

3 years agogtkgesture: Do not coalesce hold events with other touchpad gestures
Carlos Garnacho [Fri, 5 Aug 2022 09:24:58 +0000 (11:24 +0200)]
gtkgesture: Do not coalesce hold events with other touchpad gestures

This delaying of the cancel event was made to avoid intermediate cancellation
for >=2fg hold gestures followed by pinch/swipe gestures, and it worked as
long as everything was considered to have the same sequence.

Since each pinch/swipe pointer gesture now gets its own sequence, this no
longer applies, nor works. This results in zoom/rotate/swipe gestures being
stuck since the sequence for the touchpad events changes mid-gesture.

Sticking to this pattern of giving touchpad gestures their own sequence,
these hold events cannot be assumed to coalesce with other touchpad gestures,
it is better to let it propagate altogether so that both the hold gesture
and the incoming gesture trigger coherent begin and end/cancel phases.

In the worst case, this results in "::begin, ::cancel, ::begin , ..." before
triggering a touchpad gesture, but the extra begin/cancel ought to be a safe
no-op in widgets.

Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/5003
3 years agoMerge branch 'ebassi/textbuffer-private-api' into 'main'
Matthias Clasen [Fri, 5 Aug 2022 12:01:27 +0000 (12:01 +0000)]
Merge branch 'ebassi/textbuffer-private-api' into 'main'

Move private function out of the AT-SPI a11y backend

See merge request GNOME/gtk!4924

3 years agoRe-enable the TextBuffer wrap-mode serialization test
Emmanuele Bassi [Thu, 4 Aug 2022 22:39:54 +0000 (23:39 +0100)]
Re-enable the TextBuffer wrap-mode serialization test

The private serialization function is now available on all platforms.

3 years agoMove private function out of the AT-SPI a11y backend
Emmanuele Bassi [Thu, 4 Aug 2022 22:34:41 +0000 (23:34 +0100)]
Move private function out of the AT-SPI a11y backend

The textbuffer test is calling into a function defined by the AT-SPI
accessibility backend. As of commit 4ddf1b70 we only build and run the
test on Linux, but the function in question isn't really
accessibility-related: it's just a serialization function.

3 years agoUpdate Ukrainian translation
Yuri Chornoivan [Thu, 4 Aug 2022 14:33:50 +0000 (14:33 +0000)]
Update Ukrainian translation

3 years agoMerge branch 'cleanup-ffmpeg' into 'main'
Matthias Clasen [Thu, 4 Aug 2022 10:49:45 +0000 (10:49 +0000)]
Merge branch 'cleanup-ffmpeg' into 'main'

ffmpeg: add audio playback through avdevice

See merge request GNOME/gtk!4852

3 years agoffmpeg: add audio playback through avdevice
Stephan Vedder [Thu, 4 Aug 2022 10:49:44 +0000 (10:49 +0000)]
ffmpeg: add audio playback through avdevice

3 years agoMerge branch 'mount_operation' into 'main'
Matthias Clasen [Wed, 3 Aug 2022 11:56:25 +0000 (11:56 +0000)]
Merge branch 'mount_operation' into 'main'

mountoperation: Fix authentication dialog

Closes #5059 and #5058

See merge request GNOME/gtk!4899

3 years agoMerge branch 'win32-nahimic-nv-notes' into 'main'
Matthias Clasen [Tue, 2 Aug 2022 11:10:25 +0000 (11:10 +0000)]
Merge branch 'win32-nahimic-nv-notes' into 'main'

running.md: Mention about issue with Nahimic on Windows

Closes #4113

See merge request GNOME/gtk!4915

3 years agorunning.md: Mention about issue with Nahimic on Windows
Chun-wei Fan [Mon, 1 Aug 2022 04:10:15 +0000 (12:10 +0800)]
running.md: Mention about issue with Nahimic on Windows

Let people know that they will need to use GTK with the Nahimic service
disabled or OpenGL disabled or put their GTK application into the Nahimic
backlist, or try to use GLES, since there is a known issue in the Windows
nVidia graphics drivers and Nahimic that causes GL operations to fail,
causing crashes in operations such as window resizes.

This will close issue #4113--sadly, there is nothing we can do within
GTK to fix the issue.

3 years agoMerge branch 'label-tabs' into 'main'
Matthias Clasen [Tue, 2 Aug 2022 00:18:44 +0000 (00:18 +0000)]
Merge branch 'label-tabs' into 'main'

Label tabs

See merge request GNOME/gtk!4914

3 years agoMerge branch 'otte-main-patch-86462' into 'main'
Benjamin Otte [Mon, 1 Aug 2022 20:47:12 +0000 (20:47 +0000)]
Merge branch 'otte-main-patch-86462' into 'main'

Fix g_object_new(GTK_TYPE_SNAPSHOT)

See merge request GNOME/gtk!4919

3 years agosnapshot: Don't critical on dispose
Benjamin Otte [Mon, 1 Aug 2022 20:28:46 +0000 (20:28 +0000)]
snapshot: Don't critical on dispose

When there's remaining state that draws nothing, it returns no
rendernode. So do a NULL-check before unreffing it.

3 years agoFix g_object_new(GTK_TYPE_SNAPSHOT)
Benjamin Otte [Mon, 1 Aug 2022 20:08:58 +0000 (20:08 +0000)]
Fix g_object_new(GTK_TYPE_SNAPSHOT)

GJS apparent likes g_object_new() over actual constructors, so make that work.

3 years agoAdd GtkLabel:tabs
Matthias Clasen [Sun, 31 Jul 2022 15:40:20 +0000 (11:40 -0400)]
Add GtkLabel:tabs

This adds more powerful formatting capabilities to GtkLabel
without costing us much, since Pango already supports tabs.

3 years agoMerge branch 'wip/chergert/builder-expose-object-fix' into 'main'
Christian Hergert [Mon, 1 Aug 2022 05:09:53 +0000 (05:09 +0000)]
Merge branch 'wip/chergert/builder-expose-object-fix' into 'main'

builder: gracefully handle re-exposing builder object

See merge request GNOME/gtk!4913

3 years agogtkbuilder: update gtk_builder_expose_object() docs
Christian Hergert [Mon, 1 Aug 2022 04:21:13 +0000 (21:21 -0700)]
gtkbuilder: update gtk_builder_expose_object() docs

3 years agogtkbuilder: update gtk_builder_extend_with_templat() docs
Christian Hergert [Mon, 1 Aug 2022 04:20:55 +0000 (21:20 -0700)]
gtkbuilder: update gtk_builder_extend_with_templat() docs

3 years agogtkbuilder: check for existing object before extending template
Christian Hergert [Mon, 1 Aug 2022 04:15:08 +0000 (21:15 -0700)]
gtkbuilder: check for existing object before extending template

If gtk_builder_expose_object() is called twice with the same name, it will
result in a g_critical(). This improves that situation by checking for the
object before exposing additional times.

This turns out to be handy in situations where templates are expanded
multiple times, such as application-side implementations of UI merging.

3 years agox11: Don't assume valid type
Dr. David Alan Gilbert [Sat, 30 Jul 2022 15:39:18 +0000 (16:39 +0100)]
x11: Don't assume valid type

If we get an invalid TARGETS reply, we might not have a valid 'type',
which ends up as NULL and segs in the g_str_equal.

(This is probably fallout from my fix 506566b6a4c3a9, which I still
can't reproduce reliably, so the last one just moved the seg a bit
further along, and we still don't know who is sending a bad TARGETS).

This corresponds to:
https://bugzilla.redhat.com/show_bug.cgi?id=2062143

3 years agoMerge branch 'fix-gdk-win32-dnd' into 'main'
Luca Bacci [Fri, 29 Jul 2022 12:42:57 +0000 (12:42 +0000)]
Merge branch 'fix-gdk-win32-dnd' into 'main'

Fix DnD on Windows

Closes #4498

See merge request GNOME/gtk!4900

3 years agoUpdate German translation
Christian Kirbach [Thu, 28 Jul 2022 21:13:07 +0000 (21:13 +0000)]
Update German translation

3 years agoUpdate Abkhazian translation
Nart Tlisha [Thu, 28 Jul 2022 19:19:12 +0000 (19:19 +0000)]
Update Abkhazian translation

3 years agoMerge branch 'alatiera/node-flatpak' into 'main'
Matthias Clasen [Thu, 28 Jul 2022 18:08:47 +0000 (18:08 +0000)]
Merge branch 'alatiera/node-flatpak' into 'main'

flatpak: add a NodeEditor demo

See merge request GNOME/gtk!4898

3 years agoMerge branch 'ebassi/file-list-fixes' into 'main'
Matthias Clasen [Thu, 28 Jul 2022 18:07:34 +0000 (18:07 +0000)]
Merge branch 'ebassi/file-list-fixes' into 'main'

Add constructors for GdkFileList

See merge request GNOME/gtk!4907

3 years agoAdd constructors for GdkFileList
Emmanuele Bassi [Thu, 28 Jul 2022 09:13:17 +0000 (10:13 +0100)]
Add constructors for GdkFileList

C API users can keep dealing with the implicit equivalence of
GdkFileList and GSList, but language bindings have no idea that one type
is another, and none of them exposes GSList as a type anyway, so they
will need a way to construct a GdkFileList.

Instead of making GdkFileList mutable, and re-implement GSList, we only
provide a constructors pair that lets you create a GdkFileList from a
linked list or from an array.

3 years agoMerge branch 'barthalion/gnome-runtime-images-quay' into 'main'
Emmanuele Bassi [Wed, 27 Jul 2022 11:39:55 +0000 (11:39 +0000)]
Merge branch 'barthalion/gnome-runtime-images-quay' into 'main'

Update (or drop) the Docker image used by Flatpak job

See merge request GNOME/gtk!4906

3 years agoUpdate (or drop) the Docker image used by Flatpak job
Bartłomiej Piotrowski [Wed, 27 Jul 2022 10:47:50 +0000 (12:47 +0200)]
Update (or drop) the Docker image used by Flatpak job

The gnome-runtime-images have been recently migrated to Quay. This is already reflected in the template.

Please note this MR has been created semi-automatically. If it doesn't make sense, feel free to close it.

3 years agoUpdated Spanish translation
Daniel Mustieles [Wed, 27 Jul 2022 09:36:48 +0000 (11:36 +0200)]
Updated Spanish translation

3 years agoMerge branch 'wip/chergert/disable-sysprof-agent' into 'main'
Christian Hergert [Tue, 26 Jul 2022 23:44:37 +0000 (23:44 +0000)]
Merge branch 'wip/chergert/disable-sysprof-agent' into 'main'

build: configure subproject sysprof with -Dagent=false

See merge request GNOME/gtk!4896

3 years agobuild: configure subproject sysprof with -Dagent=false
Christian Hergert [Fri, 22 Jul 2022 18:30:21 +0000 (11:30 -0700)]
build: configure subproject sysprof with -Dagent=false

Sysprof has a new -Dagent=true build option which allows installing a
/usr/bin/sysprof-agent program (simimlar to sysprof-cli). It provides a
P2P D-Bus API to the process which can control subprocesses. It's used by
IDE tooling to have more control across container boundaries.

However, we do not need it for GTK CI.

3 years agoMerge branch 'markand-main-patch-04776' into 'main'
Emmanuele Bassi [Tue, 26 Jul 2022 15:09:28 +0000 (15:09 +0000)]
Merge branch 'markand-main-patch-04776' into 'main'

gtk: Missing end of code block

See merge request GNOME/gtk!4902

3 years agogtk: Missing end of code block
David Demelier [Tue, 26 Jul 2022 14:52:30 +0000 (14:52 +0000)]
gtk: Missing end of code block

3 years agoAdd Abkhazian translation
Nart Tlisha [Tue, 26 Jul 2022 11:17:20 +0000 (11:17 +0000)]
Add Abkhazian translation

3 years agoMerge branch 'gridview' into 'main'
Benjamin Otte [Tue, 26 Jul 2022 01:08:08 +0000 (01:08 +0000)]
Merge branch 'gridview' into 'main'

Gridview fix rubberbanding issues

Closes #3462 and #3445

See merge request GNOME/gtk!4688