Garrett Regier [Tue, 21 Sep 2021 20:57:08 +0000 (13:57 -0700)]
builder: Use a string chunk for precompile
Also use an explicit length and avoid g_strndup().
Garrett Regier [Tue, 21 Sep 2021 06:39:35 +0000 (23:39 -0700)]
builder: Avoid double string lookup in precompile
Matthias Clasen [Tue, 14 Dec 2021 04:35:25 +0000 (23:35 -0500)]
builder: Use GMarkup properly
We must call end_parse to ensure we get errors
for incomplete documents.
Matthias Clasen [Tue, 14 Dec 2021 00:31:49 +0000 (00:31 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
tiff loader: Catch more errors
See merge request GNOME/gtk!4248
Matthias Clasen [Mon, 13 Dec 2021 22:51:24 +0000 (17:51 -0500)]
tiff loader: Catch more errors
tiff_open_read may fail, and we should not crash
in that case but return an error.
Matthias Clasen [Mon, 13 Dec 2021 21:29:48 +0000 (21:29 +0000)]
Merge branch 'builder-tool-fixes' into 'main'
builderparser: Be more robust
See merge request GNOME/gtk!4247
Matthias Clasen [Mon, 13 Dec 2021 20:08:35 +0000 (15:08 -0500)]
buildertool: Be more robust
Don't pass a NULL string to gtk_builder_value_from_string.
Matthias Clasen [Mon, 13 Dec 2021 19:44:40 +0000 (14:44 -0500)]
builderparser: Be more robust
If a document contains no useful content,
just say so instead of crashing.
Matthias Clasen [Mon, 13 Dec 2021 19:54:56 +0000 (19:54 +0000)]
Merge branch 'builder-tool-fixes' into 'main'
buildertool: Fix a possible crash
See merge request GNOME/gtk!4246
Matthias Clasen [Mon, 13 Dec 2021 19:19:12 +0000 (14:19 -0500)]
buildertool: Be more robust
A lot of crashes in simplify can be avoided
if get_class_name does not return NULL.
Matthias Clasen [Mon, 13 Dec 2021 18:52:50 +0000 (13:52 -0500)]
buildertool: Fix a possible crash
We need to call g_markup_parse_context_end_parse
to catch incomplete documents that we might not
handle well later.
Yuri Chornoivan [Mon, 13 Dec 2021 13:16:42 +0000 (13:16 +0000)]
Update Ukrainian translation
Matthias Clasen [Mon, 13 Dec 2021 12:55:04 +0000 (12:55 +0000)]
Merge branch 'wip/baedert/for-master' into 'main'
gl: Imply that node_supports_transforms() means 2D transforms
Closes #4501
See merge request GNOME/gtk!4232
Matthias Clasen [Mon, 13 Dec 2021 03:39:48 +0000 (03:39 +0000)]
Merge branch 'fix-x11-drag-icons' into 'main'
colorswatch: Make drag source optional
See merge request GNOME/gtk!4244
Matthias Clasen [Mon, 13 Dec 2021 03:23:31 +0000 (22:23 -0500)]
colorbutton: No nested drag sources, please
This is causing trouble on X11.
Matthias Clasen [Mon, 13 Dec 2021 02:01:40 +0000 (21:01 -0500)]
dragicon: Make color icons work in X11
We need to disable the DND support in
GtkColorSwatch completely for this to work
in X11.
Matthias Clasen [Mon, 13 Dec 2021 02:01:01 +0000 (21:01 -0500)]
colorswatch: Make drag source optional
When using a colorswatch as a drag icon,
this can get in the way, so make it optional.
Matthias Clasen [Mon, 13 Dec 2021 02:43:48 +0000 (02:43 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
dragicon: Provide default icons for paintables
See merge request GNOME/gtk!4243
Matthias Clasen [Mon, 13 Dec 2021 01:43:50 +0000 (20:43 -0500)]
dragicon: Provide default icons for more types
Provide default icons for paintables and files.
This is easy to do, and makes sense.
fixup drag icon
Matthias Clasen [Mon, 13 Dec 2021 02:28:34 +0000 (21:28 -0500)]
dragicon: No events, please
We run into trouble on X11 if the widgets
in the drag icon have drop targets attached.
Prevent this by suppressing event delivery
to drag icons outright.
Benjamin Otte [Mon, 13 Dec 2021 01:17:00 +0000 (01:17 +0000)]
Merge branch 'wip/otte/for-main' into 'main'
x11: Fix a deadlock in INCR transfers
See merge request GNOME/gtk!4242
Benjamin Otte [Mon, 13 Dec 2021 00:54:21 +0000 (01:54 +0100)]
x11: Don't delete important signal handlers randomly
We finish the write to the output stream long after the stream has been
closed, so we want to keep the event handler around to do just that.
Instead, remove the handler on finalize.
Benjamin Otte [Mon, 13 Dec 2021 00:52:30 +0000 (01:52 +0100)]
x11: Explicitly track end of stream
The OutputStream needs to write a 0 byte end of stream Property. We need
to track if that has been written, and we do that with that new
property.
We also use that property to always request flushes when the stream is
being closed, so that we don't wait for another flush() call.
Benjamin Otte [Mon, 13 Dec 2021 00:43:24 +0000 (01:43 +0100)]
x11: Explicitly close_async() the output stream
We need to be very careful when writing data, because if we aren't, sync
functions will be called on the output stream and X11 does not like that
at all.
Benjamin Otte [Mon, 13 Dec 2021 00:41:04 +0000 (01:41 +0100)]
x11: Keep a reference to the SelectionOutputStream while writing
This ensures close() isn't called from dispose() while we're still busy
writing.
In theory this should never happen, but in practice it just did.
Matthias Clasen [Sun, 12 Dec 2021 23:51:30 +0000 (23:51 +0000)]
Merge branch 'clipboard-demo-improvements' into 'main'
inspector: Show more datatypes for the clipboard
See merge request GNOME/gtk!4241
Matthias Clasen [Sun, 12 Dec 2021 23:27:58 +0000 (18:27 -0500)]
gdk: Drop some pointless code
There is no point in sorting png first when
registering (de)serializers, since we ignore
the png format now when walking the list.
Matthias Clasen [Sun, 12 Dec 2021 23:01:50 +0000 (18:01 -0500)]
inspector: Show more datatypes for the clipboard
It is easy enough to show colors, files and pixbufs.
Matthias Clasen [Sun, 12 Dec 2021 21:42:31 +0000 (21:42 +0000)]
Merge branch 'clipboard-demo-improvements' into 'main'
droptarget: Improve the docs
See merge request GNOME/gtk!4240
Matthias Clasen [Sun, 12 Dec 2021 21:25:07 +0000 (16:25 -0500)]
gtk-demo: Add dnd back to the clipboard demo
Matthias Clasen [Sun, 12 Dec 2021 21:26:00 +0000 (16:26 -0500)]
droptarget: Improve the docs
Add the signal connection to the example.
Matthias Clasen [Sun, 12 Dec 2021 18:58:07 +0000 (18:58 +0000)]
Merge branch 'clipboard-demo-improvements' into 'main'
gtk-demo: Small followup fixes
See merge request GNOME/gtk!4239
Matthias Clasen [Sun, 12 Dec 2021 18:41:24 +0000 (13:41 -0500)]
gtk-demo: Small followup fixes
Make image copy work remotely.
Matthias Clasen [Sun, 12 Dec 2021 18:30:27 +0000 (18:30 +0000)]
Merge branch 'new-clipboard-demo' into 'main'
docs: Small improvement
See merge request GNOME/gtk!4238
Matthias Clasen [Sun, 12 Dec 2021 18:13:11 +0000 (13:13 -0500)]
gtk-demo: Rewrite the clipboard demo
This is more in line with the current clipboard
api, and shows handling colors and files.
Yuri Chornoivan [Sun, 12 Dec 2021 17:18:14 +0000 (17:18 +0000)]
Update Ukrainian translation
Hugo Carvalho [Sun, 12 Dec 2021 16:26:05 +0000 (16:26 +0000)]
Update Portuguese translation
Matthias Clasen [Sun, 12 Dec 2021 14:03:11 +0000 (09:03 -0500)]
docs: Small improvement
I could not find the attributes of the <binding>
element mentioned anywhere in the docs.
Piotr Drąg [Sun, 12 Dec 2021 12:54:41 +0000 (13:54 +0100)]
Update POTFILES.in and POTFILES.skip
Timm Bäder [Fri, 10 Dec 2021 19:07:39 +0000 (20:07 +0100)]
gl: Linear gradients don't support 3d transforms
Add another helper similar to the one for transforms, but that only
works on 2d transforms.
Fixes #4501
Benjamin Otte [Sat, 11 Dec 2021 22:46:30 +0000 (22:46 +0000)]
Merge branch 'wip/otte/inspector' into 'main'
inspector: Add a clipboard page
See merge request GNOME/gtk!4237
Benjamin Otte [Sat, 11 Dec 2021 22:21:53 +0000 (23:21 +0100)]
contentformats: Make sure 0 elements means the array is NULL
Don't return arrays with 0 elements, return NULL.
Benjamin Otte [Thu, 19 Aug 2021 16:38:27 +0000 (18:38 +0200)]
inspector: Add a clipboard page
Shows all the formats supported by the clipboard (and primary clipboard)
and allows displaying them (by potentially downloading them)
Matthias Clasen [Sat, 11 Dec 2021 16:32:45 +0000 (16:32 +0000)]
Merge branch 'fix-textchild-abi' into 'main'
Restore the GtkTextchild abi
Closes #4531
See merge request GNOME/gtk!4236
Matthias Clasen [Sat, 11 Dec 2021 15:55:55 +0000 (10:55 -0500)]
Restore the GtkTextchild abi
Move the new chars field to a private struct.
Fixes: #4531
Matthias Clasen [Fri, 10 Dec 2021 18:35:00 +0000 (18:35 +0000)]
Merge branch 'deprecate-device-source' into 'main'
Deprecate GdkDevice:source
See merge request GNOME/gtk!4207
Matthias Clasen [Fri, 10 Dec 2021 18:01:59 +0000 (18:01 +0000)]
Merge branch 'fix-printer-enumeration' into 'main'
Fix dialog-less printing
Closes #4439
See merge request GNOME/gtk!4215
Matthias Clasen [Fri, 10 Dec 2021 18:00:50 +0000 (18:00 +0000)]
Merge branch 'bump-meson-dep' into 'main'
Require meson 0.59
Closes #4486
See merge request GNOME/gtk!4230
Matthias Clasen [Fri, 10 Dec 2021 17:15:32 +0000 (17:15 +0000)]
Merge branch 'missing-since-tag' into 'main'
Add a missing since tag
See merge request GNOME/gtk!4229
Matthias Clasen [Fri, 10 Dec 2021 17:14:04 +0000 (12:14 -0500)]
ci: Use meson 0.59 for msvc
Matthias Clasen [Fri, 10 Dec 2021 17:12:52 +0000 (12:12 -0500)]
ci: Use meson 0.59 on macos
Matthias Clasen [Fri, 10 Dec 2021 16:36:07 +0000 (11:36 -0500)]
Fix the targets variable in pc files
This is meant as a space-separated list of
string, so escaping the spaces is uncalled
for.
Fixes: #4486
Matthias Clasen [Fri, 10 Dec 2021 16:34:23 +0000 (11:34 -0500)]
Require meson 0.59
This is needed to fix a regression in our pc file
generation.
Matthias Clasen [Fri, 10 Dec 2021 13:26:59 +0000 (08:26 -0500)]
Add a missing since tag
gtk_text_child_anchor_new_with_replacement was
recently added.
Matthias Clasen [Wed, 1 Dec 2021 03:07:02 +0000 (22:07 -0500)]
Fix dialog-less printing
We were sometimes ending printer enumeration prematurely,
and the code was confused about the meaning of found_printer.
The new setup follows these rules:
- We *only* end the search prematurely if found_printer
is set, which indicates that we found the right printer
- We *always* call find_printer_idle exactly once, and
make it return less than perfect matches like the
default printer, or the first printer we found
Fixes: #4439
Matthias Clasen [Fri, 10 Dec 2021 13:17:32 +0000 (13:17 +0000)]
Merge branch 'wip/jimmac/unfocused-selection-dejavu' into 'main'
Revert "styling: Have unfocused selections"
Closes #4393
See merge request GNOME/gtk!4228
Jakub Steiner [Fri, 10 Dec 2021 11:00:12 +0000 (12:00 +0100)]
selections: have unfocused state
- text selections for unfocused elements - textview, label, entry,
spinbutton
fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/4393
Jakub Steiner [Fri, 10 Dec 2021 10:36:10 +0000 (11:36 +0100)]
Revert "styling: Have unfocused selections"
This reverts commit
96f63a6bf343d1f2fbdbcbdaca9835fa675351dc.
Matthias Clasen [Thu, 9 Dec 2021 23:50:21 +0000 (23:50 +0000)]
Merge branch 'bilelmoussaoui/header' into 'main'
gdk: drop removed method from the header
See merge request GNOME/gtk!4225
Matthias Clasen [Thu, 9 Dec 2021 23:49:39 +0000 (23:49 +0000)]
Merge branch 'wip/chergert/fix-macos-crash' into 'main'
macos: fix crash in imcontextquartz
See merge request GNOME/gtk!4226
Bilal Elmoussaoui [Thu, 9 Dec 2021 20:29:17 +0000 (20:29 +0000)]
gdk: drop removed method from the header
Christian Hergert [Thu, 9 Dec 2021 20:26:33 +0000 (12:26 -0800)]
macos: fix crash in imcontextquartz
Benjamin Otte [Wed, 8 Dec 2021 19:33:28 +0000 (19:33 +0000)]
Merge branch 'fix-picture-natural-size-0' into 'main'
picture: Return natural size 0 for size 0
See merge request GNOME/gtk!4177
Benjamin Otte [Wed, 8 Dec 2021 18:09:29 +0000 (19:09 +0100)]
reftests: Add center-center reftests without GtkOverlay
Benjamin Otte [Wed, 8 Dec 2021 17:14:59 +0000 (18:14 +0100)]
reftests: Rename a bunch of tests
They use a GtkOverlay, so reflect that in the name.
Ivan Molodetskikh [Fri, 19 Nov 2021 13:26:07 +0000 (16:26 +0300)]
picture: Return natural size 0 for size 0
It was returning the full natural size (same as -1) due to default value
handling in the code below.
Tests have been updated to match this output.
Matthias Clasen [Wed, 8 Dec 2021 10:47:40 +0000 (10:47 +0000)]
Merge branch 'wip/chergert/fix-recursive-action-muxer' into 'main'
actionmuxer: avoid duplicate and recursive work
Closes #4422, #4519, and gnome-text-editor#220
See merge request GNOME/gtk!4223
Matthias Clasen [Wed, 8 Dec 2021 10:46:35 +0000 (10:46 +0000)]
Merge branch 'wip/chergert/layout-marshaller' into 'main'
surface: add missing va_marshaller for layout signal
See merge request GNOME/gtk!4221
Matthias Clasen [Wed, 8 Dec 2021 10:45:56 +0000 (10:45 +0000)]
Merge branch 'wip/chergert/reduce-action-muxer-allocations' into 'main'
menutracker: reduce allocations and signal emission
See merge request GNOME/gtk!4222
Christian Hergert [Wed, 8 Dec 2021 08:31:49 +0000 (00:31 -0800)]
actionmuxer: avoid duplicate and recursive work
If we've already done the tracking into the parent muxer, there is no need
to do it again. This can save a great deal of recursive work when adding
items to the muxer.
This makes showing the context menu in gnome-text-editor repeatedly fast
even as spelling corrections are changed.
It is likely that this could fix #4422 as well.
Fixes #4519
Fixes https://gitlab.gnome.org/GNOME/gnome-text-editor/-/issues/220
Christian Hergert [Wed, 8 Dec 2021 06:33:20 +0000 (22:33 -0800)]
menutracker: reduce allocations and signal emission
When handling action-added callbacks the code was previously using a
freeze_notify/thaw_notify in all cases. This turns out to allocate a
significant amount of memory when called a lot.
That said, it shouldn't be getting called this much but given the current
state of affairs elsewhere in GtkActionMuxer, this brought temporary
allocations down from 9MiB to 9KiB in gnome-text-editor after showing
the context menu a few times.
Related #4422
Christian Hergert [Wed, 8 Dec 2021 06:21:19 +0000 (22:21 -0800)]
surface: add missing va_marshaller for layout signal
I saw this coming across through a ffi boundary in Sysprof, and we wanted
to keep most things within GDK using native marshalling to improve
profiler results when frame pointers are not used.
Benjamin Otte [Tue, 7 Dec 2021 23:31:06 +0000 (23:31 +0000)]
Merge branch 'wip/otte/viewport' into 'main'
viewport: Handle things differently
See merge request GNOME/gtk!4220
Benjamin Otte [Tue, 7 Dec 2021 23:12:35 +0000 (00:12 +0100)]
viewport: Allocate properly
Instead of allocation width for height for width for height or whatever
that code was doing, actually allocate the size we were given or the
requested size, whatever is larger.
Benjamin Otte [Tue, 7 Dec 2021 22:52:21 +0000 (23:52 +0100)]
Revert "viewport: Actually report the size we're gonna allocate"
This reverts commit
b8468af4117974fd2af14e863865f494b021f29c.
Benjamin Otte [Tue, 7 Dec 2021 21:19:58 +0000 (21:19 +0000)]
Merge branch 'wip/otte/viewport' into 'main'
viewport: Use array for member variables
See merge request GNOME/gtk!4219
Benjamin Otte [Tue, 7 Dec 2021 20:54:02 +0000 (21:54 +0100)]
viewport: Actually report the size we're gonna allocate
Don't just pass on measure() calls, but actually behave in the way we
behave during size allocate.
This should improve cases where GtkScrolledWindow is used with GTK_POLICY_NEVER.
Benjamin Otte [Tue, 7 Dec 2021 20:25:37 +0000 (21:25 +0100)]
viewport: Use array for member variables
That way we can index them by orientation in future commits.
Benjamin Otte [Tue, 7 Dec 2021 15:30:48 +0000 (15:30 +0000)]
Merge branch 'wip/otte/for-main' into 'main'
gtktypes: GTK_INVALID_LIST_POSITION should be an int
See merge request GNOME/gtk!4218
Benjamin Otte [Tue, 7 Dec 2021 15:15:17 +0000 (16:15 +0100)]
gtktypes: GTK_INVALID_LIST_POSITION should be an int
GListModel uses guint, so the macros we define for it should match that.
Related: !3738
Emmanuele Bassi [Tue, 7 Dec 2021 14:22:40 +0000 (14:22 +0000)]
Merge branch 'gi-const' into 'main'
gtk: fix GTK_INVALID_LIST_POSITION type
See merge request GNOME/gtk!3738
Hugo Carvalho [Sat, 4 Dec 2021 19:46:16 +0000 (19:46 +0000)]
Update Portuguese translation
Yuri Chornoivan [Sat, 4 Dec 2021 16:46:08 +0000 (16:46 +0000)]
Update Ukrainian translation
Benjamin Otte [Sat, 4 Dec 2021 09:45:34 +0000 (09:45 +0000)]
Merge branch 'check-for-unknown-duration' into 'main'
gstmediafile: Correctly report unknown duration
See merge request GNOME/gtk!4217
Anders Jonsson [Sat, 4 Dec 2021 09:34:37 +0000 (09:34 +0000)]
Update Swedish translation
Ivan Molodetskikh [Sat, 4 Dec 2021 08:48:30 +0000 (11:48 +0300)]
gstmediafile: Correctly report unknown duration
When loading .mp3 files the duration is initially unknown. Before this
change it was reported as a large integer (since GST_CLOCK_TIME_NONE is
-1). Now it's correctly reported as 0.
Matthias Clasen [Fri, 3 Dec 2021 23:55:31 +0000 (23:55 +0000)]
Merge branch 'wip/carlosg/im-wayland-module-priority' into 'main'
gtkimcontextwayland: Set a higher IO extension priority
Closes #4443
See merge request GNOME/gtk!4216
Carlos Garnacho [Fri, 3 Dec 2021 23:15:54 +0000 (00:15 +0100)]
gtkimcontextwayland: Set a higher IO extension priority
We want this to take precedence in the wayland platform to other
modules that might be loaded via the IO extension point. None of
those is going to bode well in this platform.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4443
Matthias Clasen [Fri, 3 Dec 2021 23:05:13 +0000 (23:05 +0000)]
Merge branch 'wip/hadess/listbox-fixes' into 'main'
listbox: Explain behaviour of GtkListBoxCreateWidgetFunc
See merge request GNOME/gtk!4194
Matthias Clasen [Fri, 3 Dec 2021 22:51:32 +0000 (22:51 +0000)]
Merge branch 'wip/chergert/inspector-im-module' into 'main'
inspector: add im-module
Closes #4512
See merge request GNOME/gtk!4214
Matthias Clasen [Fri, 3 Dec 2021 20:26:54 +0000 (20:26 +0000)]
Merge branch 'textview-im-surrounding' into 'main'
textview: Provide more context to input methods
See merge request GNOME/gtk!4209
Christian Hergert [Fri, 3 Dec 2021 20:11:25 +0000 (12:11 -0800)]
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
Matthias Clasen [Fri, 3 Dec 2021 20:00:05 +0000 (20:00 +0000)]
Merge branch 'text-scroll-test' into 'main'
Improve scroll-to mark behavior
Closes #4325
See merge request GNOME/gtk!4208
Matthias Clasen [Thu, 2 Dec 2021 03:38:19 +0000 (22:38 -0500)]
textview: Provide more context to input methods
When returning surrounding context to input methods,
include at least 2 words before and after the insertion
point.
Update the affected input method tests.
Matthias Clasen [Fri, 3 Dec 2021 16:02:49 +0000 (16:02 +0000)]
Merge branch 'text-anchor-replacement-char' into 'main'
textchildanchor: allow to specify replacement character
See merge request GNOME/gtk!4213
Georg Vienna [Fri, 3 Dec 2021 16:02:48 +0000 (16:02 +0000)]
textchildanchor: allow to specify replacement character
Matthias Clasen [Fri, 3 Dec 2021 13:30:22 +0000 (13:30 +0000)]
Merge branch 'better-tabs-demo' into 'main'
Beef up the tabs demo
See merge request GNOME/gtk!4200
Matthias Clasen [Mon, 29 Nov 2021 14:25:32 +0000 (09:25 -0500)]
Beef up the tabs demo
Show various alignments, including numeric.
Benjamin Otte [Fri, 3 Dec 2021 10:48:50 +0000 (10:48 +0000)]
Merge branch 'gtk4-win32-egl' into 'main'
Fix running GTK4 under EGL on Windows
See merge request GNOME/gtk!4188
Chun-wei Fan [Tue, 23 Nov 2021 10:22:55 +0000 (18:22 +0800)]
gskglcompiler.c: Force GLSL version 300 es as needed
For libANGLE to work with our shaders, we must use "300 es" for
the #version directive in our shaders, as well as using the non-legacy/
non-GLES codepath in the shaders. In order to check whether we are
using the GLSL 300 es shaders, we check whether we are using a GLES 3.0+
context. As a result, make ->glsl_version a const char* and make sure
the existing shader version macros are defined apprpriately, and add a
new macro for the "300 es" shader version string.
This will allow the gtk4 programs to run under Windows using EGL via
libANGLE. Some of the GL demos won't work for now, but at least this
makes things a lot better for using GL-accelerated graphics under Windows
for those that want to or need to use libANGLE (such as those with
graphics drivers that aren't capable of our Desktop (W)GL requirements in
GTK.