Matthias Clasen [Wed, 17 May 2023 00:58:48 +0000 (00:58 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
gsk: Cosmetics
See merge request GNOME/gtk!5983
Matthias Clasen [Wed, 17 May 2023 00:29:40 +0000 (00:29 +0000)]
Merge branch 'gl-renderer-more-defensive' into 'main'
gsk: Stop setting uniforms when we are out of batches
See merge request GNOME/gtk!5981
Benjamin Otte [Wed, 17 May 2023 00:19:06 +0000 (00:19 +0000)]
Merge branch 'wip/otte/ci-emergency' into 'main'
CI: Actually build our code
See merge request GNOME/gtk!5980
Matthias Clasen [Tue, 16 May 2023 18:53:43 +0000 (14:53 -0400)]
gsk: Don't build unused functions
The only caller is #if 0 ed, so don't build
these functions.
Matthias Clasen [Tue, 16 May 2023 18:53:20 +0000 (14:53 -0400)]
gsk: Cosmetics
Get the context from the driver.
Matthias Clasen [Tue, 16 May 2023 17:45:38 +0000 (13:45 -0400)]
Improve test coverage for property lookup models
Matthias Clasen [Wed, 17 May 2023 00:03:19 +0000 (20:03 -0400)]
gsk: Stop setting uniforms when we are out of batches
When the command queue is out of batches, there is
no point in doing further work like allocating uniforms.
This helps us avoid assertions in the uniform code
that we would hit when we run out of uniform space
too.
Benjamin Otte [Tue, 16 May 2023 23:52:42 +0000 (01:52 +0200)]
glrenderer: Remove unused function
Thanks, macos CI.
(We should have a Fedora clang build.)
Benjamin Otte [Tue, 16 May 2023 23:24:22 +0000 (01:24 +0200)]
tests: Remove some tests
They are failing to build because they use deprecated functions and
nobody thinks they're worth fixing.
Benjamin Otte [Tue, 16 May 2023 19:21:01 +0000 (21:21 +0200)]
CI: Actually build our code
Commit
3090795351404735672c45a02a577a4e4bf67586 accidentally caused all
CI builds (or at least the ones with -Werror) to no longer build tests,
examples and demos, so none of them had made sure that they compile.
Matthias Clasen [Tue, 16 May 2023 22:20:51 +0000 (22:20 +0000)]
Merge branch 'fix-gsk-assertions' into 'main'
gsk: Fix a crash
See merge request GNOME/gtk!5979
Matthias Clasen [Tue, 16 May 2023 21:32:13 +0000 (17:32 -0400)]
gsk: Fix a crash
When we start ignoring batches, we must do it everywhere,
or we may run into assertions. This was triggered by an
enormous text node tree produced by tests/rendernode-create.
Matthias Clasen [Tue, 16 May 2023 21:28:29 +0000 (21:28 +0000)]
Merge branch 'ebassi/issue-5837' into 'main'
Fix various compiler warnings with GCC 13
Closes #5837
See merge request GNOME/gtk!5977
Emmanuele Bassi [Tue, 16 May 2023 20:22:01 +0000 (21:22 +0100)]
Replace deprecated CSS loading API
Use gtk_css_provider_load_from_string() when loading CSS from C
strings.
Emmanuele Bassi [Tue, 16 May 2023 17:51:07 +0000 (18:51 +0100)]
Implement GtkSelectionModel for GtkNotebookPages
The documentation says that the model returned by
gtk_notebook_get_pages() implements the GtkSelectionModel interface, but
checking the history confirms this is a lie.
Instead of fixing the documentation, we can easily make it true, and
reduce the differences between GtkNotebook and GtkStack.
Fixes: #5837
Emmanuele Bassi [Tue, 16 May 2023 17:50:00 +0000 (18:50 +0100)]
Fix various compiler warnings with GCC 13
There are various null dereference warnings in GtkListItemManager that
make the build noisy.
Matthias Clasen [Tue, 16 May 2023 20:51:01 +0000 (20:51 +0000)]
Merge branch 'no-deprecations-in-demos' into 'main'
demos: Stop using deprecated api
See merge request GNOME/gtk!5978
Matthias Clasen [Tue, 16 May 2023 20:42:27 +0000 (20:42 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
Matthiasc/for main
See merge request GNOME/gtk!5975
Matthias Clasen [Tue, 16 May 2023 20:05:47 +0000 (16:05 -0400)]
demos: Stop using deprecated api
Use texture apis instead of pixbuf ones.
Matthias Clasen [Tue, 16 May 2023 17:25:17 +0000 (17:25 +0000)]
Merge branch 'wip/otte/for-main' into 'main'
gdk: Clamp frame region to surface size
Closes #5812
See merge request GNOME/gtk!5976
Benjamin Otte [Sun, 14 May 2023 21:12:23 +0000 (23:12 +0200)]
nodeparser: Move an error check
By putting the check earlier, it will be emitted for the right token.
Benjamin Otte [Fri, 12 May 2023 15:16:22 +0000 (17:16 +0200)]
node-editor: Print default renderer in title
If there is a value passed to GSK_RENDERER, display it in the window
title.
This is mostly so that when I show off screenshots, people know what
renderer I'm using.
Benjamin Otte [Tue, 16 May 2023 15:18:19 +0000 (17:18 +0200)]
vulkan: Make projection matrix match GL
Vulkan has a different initial coordinate system to GL.
GL:
(-1, 1, -1) +------+.
|`. | `.
| `·--|---·
| : | :
+------+. :
`. : `.:
`·------· (1, -1, 1)
Vulkan:
(-1, -1, 0) +------+.
|`. | `.
| `·--|---·
| : | :
+------+. :
`. : `.:
`·------· (1, 1, 1)
so adjust the near and far plane we pass to
graphene_matrix_init_ortho() to make it end up with the same
projection as the GL renderer.
Benjamin Otte [Wed, 10 May 2023 20:14:26 +0000 (22:14 +0200)]
testsuite: Add crossfade-clip-both-children test
This one tests a crossfade between two non-overlapping nodes with a clip
region that covers neither of the two nodes.
This tests that renderers can deal with clip regions that doesn't
overlap nodes in a situation where they will most likely want to create
an offscreen.
As offscreens are typically clipped to the clip region, this would cause
an empty offscreen and that can cause failures.
Benjamin Otte [Wed, 10 May 2023 19:56:53 +0000 (21:56 +0200)]
testsuite: Add clip-translate-offscreen test
This was an experiment where an offscreen was translated inside an
existing clip.
Because renderers try to limit offscreens to the clip rect, this is
interesting, because they might get the translation wrong.
Benjamin Otte [Fri, 5 May 2023 02:53:08 +0000 (04:53 +0200)]
rendernode: clip when drawing shadows
Ensures the shadow stays small.
Benjamin Otte [Thu, 4 May 2023 23:39:31 +0000 (01:39 +0200)]
build: Make shaders depend on their includes
This does not do any proper dependency tracking, it just makes every
shader depend on every include shader.
But that's good enough for now.
Benjamin Otte [Thu, 11 May 2023 23:31:26 +0000 (01:31 +0200)]
vulkan: Fix typo in clipping code
Benjamin Otte [Fri, 5 May 2023 05:36:03 +0000 (07:36 +0200)]
build: Add a new gcc 13 warning
We don't trigger it and it's a useful warning. So let's use it.
Benjamin Otte [Fri, 12 May 2023 17:20:58 +0000 (19:20 +0200)]
css: Remove crashy resource:// optimization
Using gdk_texture_new_from_resource() is not valid here because we are
not sure if the given resource is valid.
Plus, the previous optimization is no longer relevant, because we are
not using gdk_pixbuf_new_from_resource() anymore - which was what this
optimization was about before it was ported to GdkTexture.
Test attached.
Benjamin Otte [Tue, 16 May 2023 15:29:31 +0000 (17:29 +0200)]
testsuite: Add testcase for z clipping
the near and far clipping plane are at -10000 and 10000 respectively.
Test that the renderers respect that.
Benjamin Otte [Tue, 16 May 2023 16:08:21 +0000 (18:08 +0200)]
gridview: Add border-spacing where it was missed
We were computing column widths without taking border-spacing into
account, making them slightly too big.
Benjamin Otte [Sat, 13 May 2023 16:35:02 +0000 (18:35 +0200)]
gdk: Clamp frame region to surface size
The region may be larger than the surface's size, but many rendering
APIs require the size to be clamped.
Fixes #5812
Matthias Clasen [Tue, 16 May 2023 15:56:47 +0000 (11:56 -0400)]
Cosmetics
Matthias Clasen [Tue, 16 May 2023 15:56:25 +0000 (11:56 -0400)]
Improve test coverage for sorters
Matthias Clasen [Tue, 16 May 2023 15:55:40 +0000 (11:55 -0400)]
Improve test coverage for GtkPropertyLookupListModel
Matthias Clasen [Tue, 16 May 2023 16:31:35 +0000 (16:31 +0000)]
Merge branch 'fix-property-lookup-model' into 'main'
Fix a few bugs in GtkPropertyLookupListModel
See merge request GNOME/gtk!5974
Matthias Clasen [Tue, 16 May 2023 15:54:59 +0000 (11:54 -0400)]
Fix a few bugs in GtkPropertyLookupListModel
Fix bugs in property types.
Matthias Clasen [Tue, 16 May 2023 12:48:40 +0000 (12:48 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
gdk: Drop some unused private api
See merge request GNOME/gtk!5973
Matthias Clasen [Tue, 16 May 2023 03:21:06 +0000 (23:21 -0400)]
Improve test coverage for GtkStringSorter
Matthias Clasen [Tue, 16 May 2023 03:06:07 +0000 (23:06 -0400)]
Only build iconcache validator if it is used
Matthias Clasen [Tue, 16 May 2023 02:41:10 +0000 (22:41 -0400)]
Drop unneeded exports from gdkpixbufutils.c
Matthias Clasen [Tue, 16 May 2023 02:12:33 +0000 (22:12 -0400)]
Drop an unused include
Matthias Clasen [Tue, 16 May 2023 01:46:02 +0000 (21:46 -0400)]
docs: Mention pixbufs in the migration guide
Matthias Clasen [Tue, 16 May 2023 01:40:54 +0000 (21:40 -0400)]
Deprecate from-pixbuf apis for widgets
We want to drop GdkPixbuf from our apis.
These have easy replacements already, so
lets deprecate them.
Matthias Clasen [Tue, 16 May 2023 00:27:16 +0000 (20:27 -0400)]
gdk: Drop some unused private api
Matthias Clasen [Tue, 16 May 2023 00:09:56 +0000 (00:09 +0000)]
Merge branch 'wip/corey/filesystemmodel' into 'main'
filesystemmodel: Ignore changes on the parent directory
Closes #4233
See merge request GNOME/gtk!5970
Matthias Clasen [Tue, 16 May 2023 00:02:15 +0000 (00:02 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
tools: Cosmetics
See merge request GNOME/gtk!5972
Matthias Clasen [Mon, 15 May 2023 23:11:35 +0000 (19:11 -0400)]
Fix texture tests with GLES
No sync for you if you're using GLES.
Matthias Clasen [Mon, 15 May 2023 23:03:42 +0000 (23:03 +0000)]
Merge branch 'deprecate-pixbuf-apis' into 'main'
gdk: Deprecated some pixbuf apis
See merge request GNOME/gtk!5971
Corey Berla [Mon, 15 May 2023 20:10:21 +0000 (13:10 -0700)]
filesystemmodel: Ignore changes on the parent directory
The filesystemmodel tracks changes and additions to child files
through G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED. This event will also
occur if the parent directory is changed. Since the parent directory
doesn't exist in the model, it creates a non-existent item.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4233
Corey Berla [Mon, 15 May 2023 20:09:52 +0000 (13:09 -0700)]
filechooserwidget: Stop leaking file system models
Matthias Clasen [Mon, 15 May 2023 22:21:08 +0000 (18:21 -0400)]
gdk: Deprecated some pixbuf apis
These are already documented as 'don't use
in new apis'. Lets make it official and
deprecate them properly.
Matthias Clasen [Mon, 15 May 2023 20:49:12 +0000 (16:49 -0400)]
Improve test coverage for GdkGLContext
Corey Berla [Mon, 15 May 2023 20:08:56 +0000 (13:08 -0700)]
.gitignore: Ignore .flatpak-builder directory
Matthias Clasen [Mon, 15 May 2023 19:25:11 +0000 (15:25 -0400)]
Cosmetics
Linkify a reference.
Matthias Clasen [Mon, 15 May 2023 19:24:56 +0000 (15:24 -0400)]
Add tests for GdkTextureDownloader
Matthias Clasen [Mon, 15 May 2023 16:50:28 +0000 (12:50 -0400)]
Test gltexture update functionality
Matthias Clasen [Mon, 15 May 2023 15:56:31 +0000 (11:56 -0400)]
Improve gdk test coverage
Matthias Clasen [Mon, 15 May 2023 12:03:20 +0000 (08:03 -0400)]
tools: Cosmetics
Make gtk-builder-tool screenshot be quiet unless
it had to make up a filename. And tweak --help
output a bit.
Matthias Clasen [Mon, 15 May 2023 10:12:29 +0000 (10:12 +0000)]
Merge branch 'export-handles-properly' into 'main'
Add testfilelauncher
See merge request GNOME/gtk!5968
Matthias Clasen [Sun, 14 May 2023 18:11:12 +0000 (14:11 -0400)]
Add testfilelauncher
This is a test to use GtkFileLauncher a bit
more intensively than usual.
Matthias Clasen [Sun, 14 May 2023 23:14:58 +0000 (19:14 -0400)]
wayland: Try harder to be compatible
We can keep the old unexport_handle api working
in the case that there is only a single exported
handle.
Matthias Clasen [Sun, 14 May 2023 21:34:35 +0000 (17:34 -0400)]
Deprecate gdk_wayland_toplevel_unexport_handle
It doesn't do anything anymore, and is no longer
used internally. The replacement is
gdk_wayland_toplevel_drop_exported_handled().
Matthias Clasen [Sun, 14 May 2023 21:38:11 +0000 (17:38 -0400)]
wayland: Reimplement exporting
Change things so that every call to export_handle
creates a new handle, and unexport_handle destroys
the handle that it is given.
Matthias Clasen [Sun, 14 May 2023 21:37:41 +0000 (17:37 -0400)]
wayland: Give toplevels a destroy hook
We will need to do some cleanup before the
wl_surface is destroyed, so add a hook for that.
Matthias Clasen [Sun, 14 May 2023 21:28:17 +0000 (17:28 -0400)]
gdk: Change the private export handle api
Make unexport_handle take the handle, so we
can in the future deal with multiple exports.
Update the one caller in gtkwindow.c to pass
the handle.
Matthias Clasen [Sun, 14 May 2023 21:27:12 +0000 (17:27 -0400)]
wayland: Add new backend api
Add an alternative to unexport_handle that
does take the handle.
Matthias Clasen [Sun, 14 May 2023 21:49:10 +0000 (21:49 +0000)]
Merge branch 'input-doc-fixes' into 'main'
GTK reference docs: Some fixes
See merge request GNOME/gtk!5969
Matthias Clasen [Sun, 14 May 2023 21:14:43 +0000 (17:14 -0400)]
gtk: Change the private export handle api
Make unexport_handle take the handle, which will
let us deal with multiple exports in the future.
Update all callers to store their handle, and
pass it to unexport_handle.
FeRD (Frank Dana) [Sun, 14 May 2023 21:01:38 +0000 (17:01 -0400)]
doc/actions: Fix end-of-file :
The actions document ended with a : where there used to be a period,
seemingly a bug in the conversion from XML. Replace that : with a
period, and remove another spurious : inserted during the conversion.
FeRD (Frank Dana) [Sun, 14 May 2023 20:23:41 +0000 (16:23 -0400)]
docs/input: <kbd>␣</kbd> => <kbd>Space</kbd>
- Switch to semantic newlines, where adding <kbd> caused wrapped text
to grow wider than 80 characters on some lines.
FeRD (Frank Dana) [Sun, 14 May 2023 20:20:33 +0000 (16:20 -0400)]
docs/input-handling: A few more <kbd> wrappings
- Format a few missed keypresses/combos using <kbd>
- Switch to semantic newlines for those (paragraphs, bullet points)
Matthias Clasen [Sun, 14 May 2023 17:26:03 +0000 (13:26 -0400)]
Fix a typo
Matthias Clasen [Sun, 14 May 2023 17:06:00 +0000 (13:06 -0400)]
wayland: Remove some unused fields
Matthias Clasen [Sun, 14 May 2023 16:58:44 +0000 (16:58 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
Add a README to examples/hello
See merge request GNOME/gtk!5967
Matthias Clasen [Sun, 14 May 2023 11:46:44 +0000 (07:46 -0400)]
gdk: Add an assertion
We simply overwrite any previous region,
so assert that the field was NULL before.
Matthias Clasen [Sun, 14 May 2023 11:47:52 +0000 (07:47 -0400)]
Add more texture load tests
Add some tests for handling of failures.
The test data here is taking from gdk-pixbufs
tests/test-images/fail directory, excluding anything
but png, tiff and jpg images.
Matthias Clasen [Sun, 14 May 2023 02:21:23 +0000 (22:21 -0400)]
Improve gdk test coverage
Test the loadable icon implementation of GdkTexture.
FeRD (Frank Dana) [Sun, 14 May 2023 09:18:48 +0000 (09:18 +0000)]
docs/input-handling: Don't leave reader hanging
Strangely, the document's last sentence ended with a colon,
giving the impression there's missing text that should follow.
There is not.
Even more strange, it's _always_ ended with a colon,
ever since the file was converted from XML
(in commit
10cd539104af54f5d1d1e49618f5aa9d8ac42074).
BUT, the XML file it was converted _from_ ended that same sentence
with a period! I have no idea where the colon came from.
Matthias Clasen [Sun, 14 May 2023 01:32:11 +0000 (21:32 -0400)]
Improve gdk test coverage
Add tests for GdkToplevvelLayout and
GdkPopupLayout.
Matthias Clasen [Sun, 14 May 2023 00:16:34 +0000 (20:16 -0400)]
docs: Mention the current build options
Some of these got renamed recently.
Matthias Clasen [Sun, 14 May 2023 00:13:01 +0000 (20:13 -0400)]
ci: Stop using deprecated build options
demos got renamed to build-demos.
Matthias Clasen [Sun, 14 May 2023 00:11:56 +0000 (20:11 -0400)]
Add a README to examples/hello
Just so nobody wonders why there's a meson.build
in this subdirectory.
Georges Basile Stavracas Neto [Sun, 14 May 2023 00:37:47 +0000 (00:37 +0000)]
Merge branch 'revert-
78f68d79' into 'main'
Revert "Merge branch 'gbsneto/css-parser-annotation' into 'main'"
See merge request GNOME/gtk!5965
Matthias Clasen [Sun, 14 May 2023 00:27:23 +0000 (00:27 +0000)]
Merge branch 'new-css-load-apis' into 'main'
Add new css provider load apis
See merge request GNOME/gtk!5966
Matthias Clasen [Sat, 13 May 2023 23:46:08 +0000 (19:46 -0400)]
Deprecate gtk_css_provider_load_From_data
Matthias Clasen [Sat, 13 May 2023 23:44:42 +0000 (19:44 -0400)]
Stop using gtk_css_provider_load_from_data
Matthias Clasen [Sat, 13 May 2023 23:37:51 +0000 (19:37 -0400)]
Add new css provider load apis
gtk_css_provider_load_from_data has turned out
to be problematic for language bindings. Add two
new variants, from_string and from_bytes, to
replace it.
Emmanuele Bassi [Sat, 13 May 2023 21:53:04 +0000 (21:53 +0000)]
Revert "Merge branch 'gbsneto/css-parser-annotation' into 'main'"
This reverts merge request !5964
Georges Basile Stavracas Neto [Sat, 13 May 2023 20:51:00 +0000 (20:51 +0000)]
Merge branch 'gbsneto/css-parser-annotation' into 'main'
gtk/css-provider: Add back array length annotation
See merge request GNOME/gtk!5964
Georges Basile Stavracas Neto [Sat, 13 May 2023 20:00:30 +0000 (17:00 -0300)]
gtk/css-provider: Add back array length annotation
This partially reverts commit
93a875bf20ba6ed8cd13595ff1f6.
Removing this annotation broke bindings, which now treat the
length of the array as a standalone parameter.
This broke Spiel, and probably other non-C apps that rely on
GtkCssProvider through bindings.
Matthias Clasen [Sat, 13 May 2023 19:46:30 +0000 (19:46 +0000)]
Merge branch 'more-marshaller-cleanup' into 'main'
Add missing va marshallers
See merge request GNOME/gtk!5963
Daniel Boles [Sat, 13 May 2023 17:17:17 +0000 (18:17 +0100)]
Widget: Fix doubled word need, missing possessives
Matthias Clasen [Sat, 13 May 2023 16:50:45 +0000 (12:50 -0400)]
Drop duplication between marshallers
gtk and gdk have their own marshallers, for historic
reasons. But there's no reason to duplicate the same
code here.
Eventually, we should just move all marshallers to
the same place.
Matthias Clasen [Sat, 13 May 2023 16:34:22 +0000 (12:34 -0400)]
Add missing va marshallers
Whenever we pass a marshaller to g_signal_new,
call g_signal_set_va_marshaller with the corresponding
va marshaller.
Matthias Clasen [Sat, 13 May 2023 15:35:14 +0000 (15:35 +0000)]
Merge branch 'marshaller-cleanup' into 'main'
Avoid generic marshallers
See merge request GNOME/gtk!5962
Matthias Clasen [Sat, 13 May 2023 15:15:36 +0000 (11:15 -0400)]
Drop unused marshallers
This list was found by a combination of
grep, sed, and sort.
Matthias Clasen [Sat, 13 May 2023 13:21:48 +0000 (09:21 -0400)]
Avoid generic marshallers
The libffi-based generic marshallers give sysprof
difficulties in getting good stacktraces, so avoid
them.
Matthias Clasen [Sat, 13 May 2023 12:40:35 +0000 (12:40 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
popover: Stop making assumptions about corners
See merge request GNOME/gtk!5961