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
Matthias Clasen [Sat, 13 May 2023 11:35:05 +0000 (07:35 -0400)]
popover: Stop making assumptions about corners
The popover tail drawing code was just assuming that
the corner values are numbers. Which they won't, anymore.
Matthias Clasen [Sat, 13 May 2023 02:04:05 +0000 (22:04 -0400)]
Improve css parser test coverage
Matthias Clasen [Sat, 13 May 2023 02:02:48 +0000 (02:02 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
css: Fix transition of font features
See merge request GNOME/gtk!5957
Matthias Clasen [Sat, 13 May 2023 01:43:59 +0000 (01:43 +0000)]
Merge branch 'volumemedia' into 'main'
mediacontrols: Set valign=center on volume button
See merge request GNOME/gtk!5955
Matthias Clasen [Fri, 12 May 2023 23:26:38 +0000 (19:26 -0400)]
testsuite: Cosmetics
Matthias Clasen [Fri, 12 May 2023 23:27:04 +0000 (19:27 -0400)]
Test the deprecation support
Test gtk4-builder-tool validate --deprecations
Matthias Clasen [Fri, 12 May 2023 23:25:24 +0000 (19:25 -0400)]
Add tests for gtk4-builder-tool enumerate
Matthias Clasen [Fri, 12 May 2023 22:47:21 +0000 (18:47 -0400)]
Add tests for hsv<>rgb conversion
Matthias Clasen [Fri, 12 May 2023 22:46:54 +0000 (18:46 -0400)]
Improve test coverage for the css parser
Matthias Clasen [Fri, 12 May 2023 13:14:04 +0000 (09:14 -0400)]
css: Improve transition test coverage
Matthias Clasen [Fri, 12 May 2023 22:11:14 +0000 (18:11 -0400)]
css: Fix initial rotate transform value
Matthias Clasen [Fri, 12 May 2023 18:48:45 +0000 (14:48 -0400)]
css: Make some corner values static
Provide static value for uniform corners
with lengths from 0 to 8px. This covers
the majority of corners in widget-factory.
Matthias Clasen [Fri, 12 May 2023 18:47:36 +0000 (14:47 -0400)]
css: More static length values
Make all length values from 0px to 8px available
as static values. This will help with cutting
down on the number of corner values (we have a
lot of 5px corners).
Matthias Clasen [Fri, 12 May 2023 18:09:36 +0000 (14:09 -0400)]
Revert "css: Simplify default values"
This reverts commit
1efa39672b94ba12f42f386d0eedb7ed6d7c3d03.
We want to use corner values for corner properties.
Matthias Clasen [Fri, 12 May 2023 18:04:59 +0000 (14:04 -0400)]
Revert "csscornervalue: Accept other values if x == y"
This reverts commit
1f2f2777e1231468f613a2936989ded060f4e2a6.
It broke transitioning of corner values.
Jordi Mas [Fri, 12 May 2023 17:42:11 +0000 (19:42 +0200)]
Update Catalan translation
Matthias Clasen [Fri, 12 May 2023 17:13:12 +0000 (13:13 -0400)]
css: Correct initial shadow filter values
This was using numbers instead of lengths,
causing confusion in the transition code.
Guillaume Bernard [Fri, 12 May 2023 13:24:14 +0000 (13:24 +0000)]
Update French translation
Matthias Clasen [Fri, 12 May 2023 13:13:00 +0000 (09:13 -0400)]
css: Fix transition of font features
If we store ints as values, we better use
g_hash_table_lookup_extended, or zeros will
show up as missing values.
Matthias Clasen [Fri, 12 May 2023 12:23:56 +0000 (08:23 -0400)]
Improve css parser test coverage
Maximiliano Sandoval R [Fri, 12 May 2023 09:35:14 +0000 (11:35 +0200)]
mediacontrols: Set valign=center on volume button
To match the play button.
Daniel Boles [Fri, 12 May 2023 09:30:37 +0000 (10:30 +0100)]
Overlay: Add minimal doc blurb for property :child
Matthias Clasen [Fri, 12 May 2023 03:24:23 +0000 (23:24 -0400)]
Improve test coverage for list models
Matthias Clasen [Fri, 12 May 2023 02:41:26 +0000 (02:41 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
Add a little wait to focus tests
See merge request GNOME/gtk!5954
Matthias Clasen [Fri, 12 May 2023 02:23:01 +0000 (22:23 -0400)]
Add a little wait to focus tests
I don't know exactly why, but this seems
to help the tests not fail on X11.
Matthias Clasen [Fri, 12 May 2023 02:08:37 +0000 (02:08 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
ci: Use the same options for the scan-build job
See merge request GNOME/gtk!5953
Matthias Clasen [Fri, 12 May 2023 00:19:07 +0000 (00:19 +0000)]
Merge branch 'validate-uris' into 'main'
urilauncher: Validate the uri
Closes #5829
See merge request GNOME/gtk!5952
Matthias Clasen [Fri, 12 May 2023 00:14:58 +0000 (20:14 -0400)]
gtk-demo: Rename the new Settings demo
"v2" does not look great in the sidebar.
Lets call this "Alternative Settings".
Matthias Clasen [Thu, 11 May 2023 23:53:42 +0000 (19:53 -0400)]
gtk-demo: Fix a typo
Matthias Clasen [Thu, 11 May 2023 14:18:22 +0000 (10:18 -0400)]
ci: Stop special-casing broadway
We are not running the broadway tests anymore,
so no need to special-case them in the run-test.sh
script either.
Matthias Clasen [Thu, 11 May 2023 14:16:34 +0000 (10:16 -0400)]
ci: Use the same options for the scan-build job
In particular, not building the tests should
help cutting down on time spent linking.
Matthias Clasen [Thu, 11 May 2023 22:33:23 +0000 (18:33 -0400)]
urilauncher: Validate the uri
We don't want to send nonsense to the portal.
Fixes: #5829
Matthias Clasen [Thu, 11 May 2023 22:28:46 +0000 (22:28 +0000)]
Merge branch 'fix-focus-tests' into 'main'
spinbutton: Update baseline child
See merge request GNOME/gtk!5950
Matthias Clasen [Thu, 11 May 2023 20:16:07 +0000 (20:16 +0000)]
Merge branch 'shortcuts-focus' into 'main'
theme: Show focus in shortcuts windows
See merge request GNOME/gtk!5951
Matthias Clasen [Thu, 11 May 2023 19:57:18 +0000 (15:57 -0400)]
theme: Show focus in shortcuts windows
The individual items are now focusable,
so we need to show a focus ring, otherwise
this is just confusing.
Matthias Clasen [Thu, 11 May 2023 19:35:27 +0000 (15:35 -0400)]
widgetfocus: Sort children better for TAB
When tabbing in a box, we really want to sort
children just along the main axis. Make it so.
Matthias Clasen [Thu, 11 May 2023 19:34:44 +0000 (15:34 -0400)]
spinbutton: Update baseline child
When the orientation changes, the entry changes
position, so we need to update baseline-child to match.
Matthias Clasen [Thu, 11 May 2023 13:47:56 +0000 (13:47 +0000)]
Merge branch 'balance-ci-jobs' into 'main'
ci: Balance the work between jobs
See merge request GNOME/gtk!5949
Matthias Clasen [Thu, 11 May 2023 13:20:25 +0000 (09:20 -0400)]
testsuite: Simplify shader test
Simplify the shader to something GLES
will successfully compile.
Matthias Clasen [Thu, 11 May 2023 13:11:56 +0000 (13:11 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
gsk: Dispose the driver when the display is closed
See merge request GNOME/gtk!5948
Matthias Clasen [Thu, 11 May 2023 12:52:48 +0000 (08:52 -0400)]
Drop the duplicate x11 testsuite run
We currently run the testsuite against x11 in both
the debug and release builds. Once ought to
be enough.
Matthias Clasen [Thu, 11 May 2023 12:39:38 +0000 (08:39 -0400)]
ci: Balance the work between jobs
The fedora-x86-64 build does not only build with debug,
it also does the hello build, and it runs the testsuite
multiple times.
Move the hello build to the fedora release build. The idea
is that this lets us do more work in parallel, and spend
less time waiting for the longest-running ci job.
Matthias Clasen [Thu, 11 May 2023 12:34:14 +0000 (08:34 -0400)]
ci: Drop the broadway test run
We are ignoring failures here, and nobody is working
on fixing them. And the failures end up at the end
of the log, adding annoyance to finding the actual
failures.
Matthias Clasen [Thu, 11 May 2023 10:40:57 +0000 (06:40 -0400)]
testsuite: fix another surface unref warning
Matthias Clasen [Thu, 11 May 2023 01:33:32 +0000 (21:33 -0400)]
build: Cosmetics
Matthias Clasen [Thu, 11 May 2023 00:45:39 +0000 (20:45 -0400)]
gsk: Comment out some debug code
The calls of these functions are #ifdef'ed out,
so no point in compiling these functions.
Matthias Clasen [Thu, 11 May 2023 00:19:23 +0000 (20:19 -0400)]
gtk: Don't drop too many references
We only have one reference to the surface,
and it is dropped by gdk_surface_destroy.
All the users of surfaces in gtk had the same
bug: they were all stealing an extra reference
to drop - the one that the renderer was leaking
until recently.
Matthias Clasen [Wed, 10 May 2023 20:55:16 +0000 (16:55 -0400)]
gsk: Fix some renderer gotchas
unrealize() needs to clean up the surface that was set
in realize(), and both need to emit property change
notification.
Matthias Clasen [Wed, 10 May 2023 14:38:13 +0000 (10:38 -0400)]
gsk: Improve test coverage
Add more tests for gsk transforms, render node
and renderer apis.
Matthias Clasen [Wed, 10 May 2023 18:59:58 +0000 (14:59 -0400)]
gsk: Drop an unused function
Matthias Clasen [Wed, 10 May 2023 11:36:22 +0000 (07:36 -0400)]
testsuite: Close displays in the gsk tests
This gives us better coverage of the dispose
codepath for a driver that has actually been
used.
Matthias Clasen [Wed, 10 May 2023 11:34:23 +0000 (07:34 -0400)]
gsk: Dispose the driver when the display is closed
This was the intention, but the object data by itself
does not achieve that: We do run dispose on the display
when it is closed, but object data is only cleared in
finalize. So listen to the ::closed signal and remove
the driver ourselves.
Fix up the drivers dispose implementation enough for
that to actually work.
Matthias Clasen [Wed, 10 May 2023 17:44:24 +0000 (13:44 -0400)]
Use gsk_matrix_transform_point3d consistently
Matthias Clasen [Wed, 10 May 2023 10:38:07 +0000 (10:38 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
tests: Stop copying the tool tests
See merge request GNOME/gtk!5947
Matthias Clasen [Wed, 10 May 2023 03:02:48 +0000 (23:02 -0400)]
tests: Don't disable vertex arrays
It doesn't work, and that makes tests fail.
Matthias Clasen [Wed, 10 May 2023 03:02:30 +0000 (23:02 -0400)]
Improve coverage for half-float fallbacks
Matthias Clasen [Wed, 10 May 2023 01:39:20 +0000 (21:39 -0400)]
build: Rename another option
Matthias Clasen [Wed, 10 May 2023 01:28:52 +0000 (21:28 -0400)]
build: Deprecate an option
Rename the demos option to build-demos, to match
the other options for building optional parts.
Matthias Clasen [Wed, 10 May 2023 01:33:21 +0000 (21:33 -0400)]
build: Require meson 0.63
This is needed for option deprecation.
Matthias Clasen [Wed, 10 May 2023 01:21:39 +0000 (21:21 -0400)]
tests: Stop copying the tool tests
No point in doing that, and the meson feature
we are using here is deprecated.
Matthias Clasen [Wed, 10 May 2023 00:48:33 +0000 (20:48 -0400)]
Post-release version bump
Matthias Clasen [Tue, 9 May 2023 17:36:21 +0000 (13:36 -0400)]
4.11.2
Matthias Clasen [Tue, 9 May 2023 20:42:38 +0000 (16:42 -0400)]
Update baseline docs a bit
Matthias Clasen [Tue, 9 May 2023 20:53:59 +0000 (20:53 +0000)]
Merge branch 'deprecate-align-value' into 'main'
Deprecate GTK_ALIGN_BASELINE
See merge request GNOME/gtk!5946
Matthias Clasen [Tue, 9 May 2023 20:30:37 +0000 (16:30 -0400)]
Update tests
Matthias Clasen [Tue, 9 May 2023 17:08:34 +0000 (13:08 -0400)]
Deprecate GTK_ALIGN_BASELINE
We can deprecated enum values now.
Matthias Clasen [Tue, 9 May 2023 17:08:08 +0000 (13:08 -0400)]
Use GTK_ALIGN_BASELINE_FILL
Replace GTK_ALIGN_BASELINE with its new name
everywhere.
Matthias Clasen [Tue, 9 May 2023 18:23:40 +0000 (18:23 +0000)]
Merge branch 'wip/ebassi/gen-version-macros' into 'main'
Generate version and deprecation macros at build time
See merge request GNOME/gtk!5945
Emmanuele Bassi [Tue, 9 May 2023 18:01:21 +0000 (19:01 +0100)]
build: Internal tests must set GTK_COMPILATION
Otherwise they won't be able to use the appropriate function visibility
on Windows.
Emmanuele Bassi [Tue, 9 May 2023 16:02:09 +0000 (17:02 +0100)]
Minimize the amount of inclusions in public headers
Public headers should mainly include gdktypes.h, which already include
the symbol visibility and versioning macros; we can also modify
gdktypes.h to include the enumerations.
Matthias Clasen [Tue, 9 May 2023 16:36:55 +0000 (16:36 +0000)]
Merge branch 'wip/otte/sections' into 'main'
Add GtkSectionModel
See merge request GNOME/gtk!5818
Matthias Clasen [Tue, 9 May 2023 15:17:26 +0000 (11:17 -0400)]
Use #pragma once
We switched over to using #pragma once, so lets
use it consistently, in generated headers as well.
Matthias Clasen [Tue, 9 May 2023 15:16:31 +0000 (11:16 -0400)]
Drop the gdk/gdkversionmacros.h header
It was just added to avoid touching too many files.
Touching them now.
Emmanuele Bassi [Tue, 9 May 2023 14:31:27 +0000 (15:31 +0100)]
demos: Drop symbol visibility macros from demo types
Since the corresponding source files do not include "config.h", and are
not compiled with `GTK_COMPILATION`, they will generate the wrong symbol
exporting under Windows.
Emmanuele Bassi [Tue, 9 May 2023 12:13:44 +0000 (13:13 +0100)]
build: Minor style nitpicks
Emmanuele Bassi [Tue, 9 May 2023 12:13:00 +0000 (13:13 +0100)]
build: Use Meson's gnu_symbol_visibility
Instead of injecting `-fvisibility=hidden` depending on a compiler check
ourselves, let Meson do it for us.
This also avoids us having to filter `-fvisibility=hidden` when reusing
the common compiler flags.
Matthias Clasen [Mon, 8 May 2023 20:03:16 +0000 (16:03 -0400)]
Add a missing file
Matthias Clasen [Mon, 8 May 2023 19:59:41 +0000 (15:59 -0400)]
Fix install location
Matthias Clasen [Mon, 8 May 2023 19:53:42 +0000 (15:53 -0400)]
Use GTK_COMPILATION throughout
It is a bit ugly that it doesn't fit the neat
namespace schema, but it is what we use everywhere.
Matthias Clasen [Mon, 8 May 2023 19:53:27 +0000 (15:53 -0400)]
Don't excessively define GDK_EXTERN
Once is enough.
Matthias Clasen [Mon, 8 May 2023 19:43:08 +0000 (15:43 -0400)]
Make it build
Fix the circular dependency by moving the generated
headers to gdk/version/, and build that directory
first.
Misc other fixes, such as putting the custom targets
as sources, not depedencies, and using the correct
major version in the generator script.
Emmanuele Bassi [Mon, 8 May 2023 18:39:35 +0000 (19:39 +0100)]
Generate version and deprecation macros at build time
Let's poach the same script used by GLib to avoid having to add all the
version macros by hand every time we increment the GTK version.
This is a work in progress:
- need to rename the GLIB_STATIC_COMPILATION check
- circular dependency: libgtkcss depends on gdkversionmacros.h, but libgdk
depends on libgtkcss
Benjamin Otte [Tue, 9 May 2023 15:16:43 +0000 (15:16 +0000)]
Merge branch 'wip/otte/no-vsync' into 'main'
Add GDK_DEBUG=no-vsync
See merge request GNOME/gtk!5944
Benjamin Otte [Wed, 12 Apr 2023 15:00:08 +0000 (17:00 +0200)]
listview: Make inertness not depend on factory
The inertness concept introduced in
62e9d1e470b assumed a listview was
inert when no factory was set. This has 2 problems:
1. columnview uses a listview without factories.
2. header factory being set but factory not being set technically makes
the listiew inert - but should it?
So for now, make inertness only depend on visibility and root.
A side benefit is that this matches columnview semantics.
Benjamin Otte [Mon, 8 May 2023 18:47:39 +0000 (20:47 +0200)]
gtk-demo: Add alternative settings demo
This one displays a long list of all settings with sections and allows
filtering the list to quickly search for keys.
Benjamin Otte [Tue, 11 Apr 2023 02:46:40 +0000 (04:46 +0200)]
gtk-demo: Split out code from the settings demo
I want to add another demo using settings and share relevant code.
Benjamin Otte [Tue, 11 Apr 2023 02:46:24 +0000 (04:46 +0200)]
theme: Add some random CSS for section headers
Benjamin Otte [Tue, 11 Apr 2023 02:45:30 +0000 (04:45 +0200)]
listitemmanager: Create header items for sections
Now, finally, listitemmanager has all the necessary support to make
section headers work.
Benjamin Otte [Mon, 10 Apr 2023 12:32:24 +0000 (14:32 +0200)]
listview: GtkListHeader and gtk_list_view_set_header_factory()
Adds infrastructure for handling factories for list headers.
For now, listitemmanager doesn't instantiate them, so they aren't used.
Benjamin Otte [Mon, 10 Apr 2023 21:18:56 +0000 (23:18 +0200)]
listitemmanager: Add GtkListItemChange
... for tracking widgets during changes.
This just pulls all the different disjointed parts into one struct with
a sensible API.
Benjamin Otte [Sun, 9 Apr 2023 12:24:26 +0000 (14:24 +0200)]
listitemmanager: Add GtkListHeaderBase and vfuncs
This is plumbing for section handling.
The vfuncs don't do anything, this is just the infrastructure.
Benjamin Otte [Mon, 10 Apr 2023 21:17:41 +0000 (23:17 +0200)]
listitembase: exit early
When update() is called but no values are changed, exit early.
Benjamin Otte [Sun, 9 Apr 2023 03:29:14 +0000 (05:29 +0200)]
listitemmanager: Make sections configurable
Add a gtk_list_item_manager_set_has_sections() (default: FALSE) that
requires explicit turning on for the listitemmanager to gain section
support.
Benjamin Otte [Sun, 9 Apr 2023 02:26:51 +0000 (04:26 +0200)]
listitemmanager: Add/remove sections as needed
When ensuring widgets, ensure that their section is known. This will
be relevant when we use section widgets.
Also ensure that sections that don't cover any widget get destroyed.
Benjamin Otte [Sun, 9 Apr 2023 02:24:47 +0000 (04:24 +0200)]
testsuite: assert widgets are in matched sections
All widgets that we display should have their sections known, so assert
that that is the case.
Benjamin Otte [Sun, 9 Apr 2023 02:23:35 +0000 (04:23 +0200)]
testsuite: Add a print function for the listitemmanager
This is very useful when debugging.
Benjamin Otte [Sat, 8 Apr 2023 01:59:17 +0000 (03:59 +0200)]
listitemmanager: Add gtk_list_tile_get_next_skip()
... and gtk_list_tile_get_previous_skip() and use them.
Allows skipping over REMOVED and FILLER tiles which makes the code a lot
more readable.
Benjamin Otte [Sat, 8 Apr 2023 01:47:13 +0000 (03:47 +0200)]
listitemmanager: Add gtk_list_tile_set_type()