nana-4 [Mon, 18 May 2020 11:00:11 +0000 (20:00 +0900)]
Adwaita: Tweak padding in checkbutton & radiobutton
Since we can now use border-spacing in checkbutton and radiobutton,
we don't need the margin in check and radio for spacing anymore.
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2697
Timm Bäder [Mon, 18 May 2020 08:17:03 +0000 (10:17 +0200)]
bloatpad: Avoid a few theoretical compiler warnings
Timm Bäder [Mon, 18 May 2020 07:41:47 +0000 (09:41 +0200)]
Add G_GNUC_NORETURN to functions that never return
Timm Bäder [Mon, 18 May 2020 07:39:40 +0000 (09:39 +0200)]
examples: Add common_cflags to executables
Daniel Mustieles [Mon, 18 May 2020 08:15:03 +0000 (10:15 +0200)]
Updated Spanish translation
Matthias Clasen [Mon, 18 May 2020 04:26:01 +0000 (04:26 +0000)]
Merge branch 'shape-apis' into 'master'
Shape apis
See merge request GNOME/gtk!1925
Chun-wei Fan [Mon, 18 May 2020 03:35:52 +0000 (11:35 +0800)]
print-editor demo: Fix linking on Visual Studio
We need to pass in '/entry:mainCRTStartup' as we did for the other demo
programs that have 'gui_app: true' in their Meson build settings.
Matthias Clasen [Mon, 18 May 2020 02:05:24 +0000 (22:05 -0400)]
gdk: Simplify gdk_display_supports_input_shapes
Make this a display property, and do away with
the vfunc in favor of a private setter, to match
how we handle other display characteristics.
Matthias Clasen [Mon, 18 May 2020 01:52:15 +0000 (21:52 -0400)]
gdk: Drop gdk_display_supports_shapes
The apis to set shapes on surfaces are gone,
so there is no point in providing this information
on GdkDisplay.
Matthias Clasen [Mon, 18 May 2020 01:47:22 +0000 (21:47 -0400)]
x11: Avoid some frontend api use
We can just use our backend information directly.
Matthias Clasen [Mon, 18 May 2020 01:46:54 +0000 (21:46 -0400)]
docs: Tweak docs for gdk_surface_set_input_region
Matthias Clasen [Mon, 18 May 2020 00:08:44 +0000 (00:08 +0000)]
Merge branch 'coordinate-api' into 'master'
Coordinate api
See merge request GNOME/gtk!1924
Matthias Clasen [Sun, 17 May 2020 21:49:02 +0000 (17:49 -0400)]
gdk: Make gdk_drag_begin take doubles
This is a better fit to the way we treat coordinates
everywhere else.
Matthias Clasen [Sun, 17 May 2020 21:08:01 +0000 (17:08 -0400)]
Change coordinate translation apis to take doubles
Change gtk_widget_translate_coordinates and
gtk_native_get_surface_transform to operate
on doubles. Update all callers.
Matthias Clasen [Sun, 17 May 2020 20:01:08 +0000 (16:01 -0400)]
native: Make gtk_native_get_surface_transform public
This api is needed to translate between surface
and widget coordinates.
Matthias Clasen [Sun, 17 May 2020 19:15:46 +0000 (19:15 +0000)]
Merge branch 'toplevel-move-resize' into 'master'
Toplevel move resize
See merge request GNOME/gtk!1923
Matthias Clasen [Sun, 17 May 2020 18:38:10 +0000 (14:38 -0400)]
docs: Mention begin_resize_drag in the migration guide
Matthias Clasen [Sun, 17 May 2020 16:35:45 +0000 (12:35 -0400)]
gdk: Move the begin_move/resize_drag vfuncs around
Move these from GdkSurface to GdkToplevel, where they
belong. Update all backends.
Benjamin Otte [Sun, 17 May 2020 17:21:17 +0000 (19:21 +0200)]
x11: Fix up for last merge
Benjamin Otte [Sun, 17 May 2020 16:57:52 +0000 (16:57 +0000)]
Merge branch 'wip/otte/monitors' into 'master'
various GDK cleanups
See merge request GNOME/gtk!1920
Matthias Clasen [Sun, 17 May 2020 16:14:18 +0000 (12:14 -0400)]
gdk: Drop gdk_surface_begin_move/resize_drag
These have been replaced by GdkToplevel api.
Matthias Clasen [Sun, 17 May 2020 16:06:26 +0000 (12:06 -0400)]
window: Use toplevel begin_move/resize api
The GdkSurface api for this is going away.
Emmanuele Bassi [Sun, 17 May 2020 16:43:24 +0000 (16:43 +0000)]
Merge branch 'ebassi/ci-extends' into 'master'
ci: Use extends instead of YAML anchors
See merge request GNOME/gtk!1908
Matthias Clasen [Sun, 17 May 2020 15:45:37 +0000 (11:45 -0400)]
gdk: Add gdk_toplevel_begin_move/resize
For now, these are wrappers around the surface apis,
but they are going to replace them, since this operation
is only available on toplevels.
Benjamin Otte [Sun, 17 May 2020 16:05:07 +0000 (18:05 +0200)]
migration guide: Update paragraph about monitors
Clarify the new handling of monitors via a listmodel of GdkMonitor
instead of int monitor_num.
Timm Bäder [Sun, 17 May 2020 13:28:16 +0000 (15:28 +0200)]
windowhandle: Apply surface transform before passing coords to GDK
Otherwise coordinates are incorrect and the window can jump around after
starting a drag.
Timm Bäder [Wed, 13 May 2020 18:25:22 +0000 (20:25 +0200)]
inspector: Apply toplevel transform before snapshotting overlays
Timm Bäder [Sun, 17 May 2020 06:53:47 +0000 (08:53 +0200)]
gl renderer: Apply scaled clip when rendering offscreen clipped child
Timm Bäder [Sun, 17 May 2020 07:34:31 +0000 (09:34 +0200)]
shortcutmanager: Fix private header include guard
Timm Bäder [Sun, 17 May 2020 07:53:23 +0000 (09:53 +0200)]
shortcutcontroller: Don't return a shortcut stope as GdkModifierType
Timm Bäder [Sun, 17 May 2020 12:06:07 +0000 (14:06 +0200)]
window: Use TRUE/FALSE for boolean values
Timm Bäder [Sun, 17 May 2020 13:08:26 +0000 (13:08 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
Closes #1619
See merge request GNOME/gtk!1921
Emin Tufan Çetin [Sun, 17 May 2020 11:42:10 +0000 (11:42 +0000)]
Update Turkish translation
Matthias Clasen [Sun, 17 May 2020 06:22:29 +0000 (02:22 -0400)]
Apply surface transform in more places
With these fixes, GtkSwitch now works in the presence
of surface transforms.
Matthias Clasen [Sun, 17 May 2020 06:10:56 +0000 (02:10 -0400)]
inspector: Take surface transform into account
Timm Bäder [Sat, 16 May 2020 21:34:25 +0000 (23:34 +0200)]
gl renderer: Fix an uninitialized value
Matthias Clasen [Sun, 17 May 2020 06:05:32 +0000 (02:05 -0400)]
windowhandle: Take surface transform into account
Matthias Clasen [Sun, 17 May 2020 06:04:22 +0000 (02:04 -0400)]
widget: Fix gtk_widget_get_surface_allocation
As the name implies, this should be surface-relative
coordinates, so it needs to take the surface transform
into account.
Matthias Clasen [Sun, 17 May 2020 06:03:41 +0000 (02:03 -0400)]
textview: Fix context menu placement
Take the surface transform into account for
positioning the context menu.
Benjamin Otte [Sun, 17 May 2020 03:58:20 +0000 (05:58 +0200)]
display: Remove unneeded getters
Applications can use the listmodel instead.
Matthias Clasen [Sun, 17 May 2020 05:22:02 +0000 (01:22 -0400)]
tooltip: Fix positioning
There are a few more places where we were forgetting
to apply the surface->native transform. With these
changes, tooltips are positioned correctly when
the toplevel has padding applied.
Fixes: #1619
Benjamin Otte [Sun, 17 May 2020 03:47:07 +0000 (05:47 +0200)]
display: Remove the monitor signals
Applications can listen to GdkDisplay:monitors::items-changed if they
want to track monitor changes.
Benjamin Otte [Sun, 17 May 2020 03:35:14 +0000 (05:35 +0200)]
x11: Directly notify surfaces of monitor changes
Do not use signals.
Benjamin Otte [Sun, 17 May 2020 03:23:16 +0000 (05:23 +0200)]
monitor: Add gdk_monitor_set_geometry()
Make it replace gdk_monitor_set_size() and gdk_monitor_set_position()
which used to be called in pairs anyway.
Benjamin Otte [Sun, 17 May 2020 03:10:19 +0000 (05:10 +0200)]
x11: Remove unused change tracking
Change tracking now works automatically via GdkMonitor.
Matthias Clasen [Sun, 17 May 2020 01:54:14 +0000 (21:54 -0400)]
widget-factory: Cosmetics
Add a frame around the white background in the background
selection dialog. Otherwise, it is not really visible.
Benjamin Otte [Sun, 17 May 2020 00:14:16 +0000 (02:14 +0200)]
x11: Remove XDamage dependency
It's not used.
Matthias Clasen [Sat, 16 May 2020 23:35:51 +0000 (23:35 +0000)]
Merge branch 'wip/baedert/for-master' into 'master'
Wip/baedert/for master
Closes #2601
See merge request GNOME/gtk!1918
Emmanuele Bassi [Sat, 16 May 2020 23:32:22 +0000 (00:32 +0100)]
ci: Allow using "latest" as the image version
Just like the documentation says.
Emmanuele Bassi [Fri, 15 May 2020 12:21:45 +0000 (13:21 +0100)]
ci: Use extends instead of YAML anchors
The `extends` keyword is more readable than YAML's weird anchor syntax,
and we don't have too many anchors in our job definitions anyway.
Benjamin Otte [Sat, 16 May 2020 23:02:17 +0000 (01:02 +0200)]
x11: Remove gdk_x11_register_standard_event_type()
It's not used anymore since GdkX11Display::xevent exists.
Benjamin Otte [Sat, 16 May 2020 22:41:44 +0000 (00:41 +0200)]
surface: Remove gdk_surface_is_viewable()
It returns the same value as gdk_surface_get_mapped(), so use that
instead.
Timm Bäder [Sat, 16 May 2020 20:34:38 +0000 (22:34 +0200)]
popover: Fix input shape rendering
Once again, calling gtk_widget_get_allocation() is wrong.
Fixes #2601
Timm Bäder [Sat, 16 May 2020 07:24:29 +0000 (09:24 +0200)]
showrendernode: Set widget overflow
Timm Bäder [Sat, 16 May 2020 06:12:50 +0000 (08:12 +0200)]
texthandle: Remove min-width/height handling
We do that automatically for all widgets.
Timm Bäder [Sat, 16 May 2020 06:01:22 +0000 (08:01 +0200)]
natives: Use GtkCssBoxes in get_surface_transform
Timm Bäder [Sat, 16 May 2020 05:54:34 +0000 (07:54 +0200)]
native: Add documenation for get_surface_transform
Timm Bäder [Sat, 16 May 2020 05:20:50 +0000 (07:20 +0200)]
popover: Return correct values from get_surface_transform()
We do not (yet) care about the box shadow here, so it's sufficient to
return the css values.
Timm Bäder [Fri, 15 May 2020 06:22:04 +0000 (08:22 +0200)]
main: Translate coordinates from surface to native before picking
gtk_widget_pick() needs them to be in @self coordinates.
Matthias Clasen [Sat, 16 May 2020 18:27:19 +0000 (18:27 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
broadway: Be careful about destroyed surfaces
See merge request GNOME/gtk!1917
Matthias Clasen [Sat, 16 May 2020 17:47:18 +0000 (13:47 -0400)]
broadway: Be careful about destroyed surfaces
Just because we take a ref on a surface does not
guarantee that it is still usable a second later.
Check if its been destroyed in the meantime.
This is breaking the template tests in ci, since
there is no client behind the Broadway server.
Matthias Clasen [Sat, 16 May 2020 17:01:30 +0000 (17:01 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
broadway: Don't create overlarge images
See merge request GNOME/gtk!1916
Matthias Clasen [Sat, 16 May 2020 16:27:22 +0000 (12:27 -0400)]
broadway: Create slave devices
The assumption is that the source device in events
is a slave device, so create pointer and keyboard
devices and use them in events.
This fixes the seat test on Broadway.
Matthias Clasen [Sat, 16 May 2020 15:27:21 +0000 (11:27 -0400)]
broadway: Don't create overlarge images
Respect that cairo won't create image surfaces larger
than 32767 x 32767.
This makes the one reftest pass that specifically checks
this condition, treeview-crash-too-wide.
Matthias Clasen [Sat, 16 May 2020 15:03:10 +0000 (15:03 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!1915
Yuri Chornoivan [Sat, 16 May 2020 14:52:15 +0000 (14:52 +0000)]
Update Ukrainian translation
Matthias Clasen [Sat, 16 May 2020 14:16:52 +0000 (14:16 +0000)]
Merge branch 'broadway-surface-destroy' into 'master'
Broadway surface destroy
See merge request GNOME/gtk!1914
Matthias Clasen [Sat, 16 May 2020 14:12:47 +0000 (10:12 -0400)]
ci: Don't run opengl renderer tests on Broadway
The test setup mechanism in meson is not flexible
enough to let us run different suites depending
on setup, so just pass in explicitly which suites
we want to skip, depending on the backend.
Matthias Clasen [Sat, 16 May 2020 14:11:52 +0000 (10:11 -0400)]
testsuite: Add a gsk-compare-broadway suite
We have a Broadway renderer, might as well spell
that out in the tests, and make the suite exclude the
3d tests it can't handle.
Matthias Clasen [Sat, 16 May 2020 13:09:26 +0000 (09:09 -0400)]
testsuite: Destroy surfaces
If we don't destroy the surface, it leaks.
GDK backends keep an extra reference on the
surface for the external resources associated
with it, and only drop it in destroy().
Matthias Clasen [Sat, 16 May 2020 13:10:28 +0000 (09:10 -0400)]
broadway: Keep an reference on surfaces
GDK backends are expected to keep a references on
their surfaces as long as they are associated with
external resources, and drop it in destroy().
This showed up as criticals in the shortcuts test
which manually creates and destroys surfaces.
Matthias Clasen [Sat, 16 May 2020 11:21:00 +0000 (11:21 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
inspector: Use tabular numbers in the fps overlay
See merge request GNOME/gtk!1912
Piotr Drąg [Sat, 16 May 2020 10:37:01 +0000 (12:37 +0200)]
Update POTFILES.in and POTFILES.skip
Timm Bäder [Wed, 13 May 2020 14:26:35 +0000 (16:26 +0200)]
Implement diff() for color matrix nodes
This way we don't redraw color matrix nodes all the time.
Matthias Clasen [Sat, 16 May 2020 01:26:10 +0000 (21:26 -0400)]
inspector: Use tabular numbers in the fps overlay
It is a lot more readable if it doesn't constantly jitter.
Matthias Clasen [Sat, 16 May 2020 00:52:56 +0000 (00:52 +0000)]
Merge branch 'better-ci-reports' into 'master'
ci: Add the backend to the reports
See merge request GNOME/gtk!1911
Matthias Clasen [Fri, 15 May 2020 23:50:54 +0000 (23:50 +0000)]
Merge branch 'wip/carlosg/tablet-disconnects-master' into 'master'
gdk/wayland: Handle disorderly tablet/pad disconnects
See merge request GNOME/gtk!1910
Matthias Clasen [Fri, 15 May 2020 23:49:18 +0000 (19:49 -0400)]
ci: Add the backend to the reports
We want the test names in the junit xml to be
unique across all the tests in a job, so we need
to include the backend in the test name.
And we also want to see the used backend in
the html report.
Carlos Garnacho [Fri, 15 May 2020 16:39:57 +0000 (18:39 +0200)]
gdk/wayland: Handle disorderly tablet/pad disconnects
If the tablet gets removed/freed while there are pad events in flight,
we leave a dangling pointer from the pad to the tablet, which may
lead to invalid reads/writes when handling the pad event(s).
Matthias Clasen [Fri, 15 May 2020 21:13:01 +0000 (21:13 +0000)]
Merge branch 'headless-seatless' into 'master'
gtk: Handle seatless displays
See merge request GNOME/gtk!1905
Matthias Clasen [Fri, 15 May 2020 19:23:22 +0000 (15:23 -0400)]
ci: Ignore Broadway failures
These need some more work, so ignore them for now,
to get the initial multi-backend testsuite into
production.
Matthias Clasen [Fri, 15 May 2020 18:58:58 +0000 (14:58 -0400)]
displayclose: Quietly skip if no X available
Matthias Clasen [Fri, 15 May 2020 13:44:24 +0000 (09:44 -0400)]
ci: Run tests with different backends
Run the testsuite under x11, wayland and broadway
in the fedora-x86_64 job. This requires us to use
the v17 image which includes weston.
Matthias Clasen [Fri, 15 May 2020 16:57:49 +0000 (12:57 -0400)]
tests: Centralize our test setup a bit
Put all of the constant environment into the
toplevel meson.build file, to reduce repetition
and copy-paste errors.
Matthias Clasen [Fri, 15 May 2020 13:23:25 +0000 (09:23 -0400)]
testsuite: Add test setups for backends
Add test setups that set the GDK_BACKEND and
TEST_OUTPUT_SUBDIR environment variables.
This lets use run
meson test --setup x11 --suite reftest
meson test --setup wayland --suite reftest
and the output will be nicely separated.
We still need to do compositor / display server
setup from the outside.
Matthias Clasen [Fri, 15 May 2020 13:18:35 +0000 (09:18 -0400)]
tests: Allow setting a subdir for output
meson seems somewhat weak when it comes to handling
test output. We need to get the output from different
test runs into different locations, and the only
way to communicate from a test setup with the actual
test code seems the environment, so use that.
Make all tests that produce output in files respect
a TEST_OUTPUT_SUBDIR environment variable which specifies
the name of a subdirectory to use. This is combined
with the existing --output argument, which specifies
a per-test location.
Affected tests are reftests, css performance tests
and gsk compare tests.
Matthias Clasen [Fri, 15 May 2020 12:51:22 +0000 (08:51 -0400)]
ci: Fix a typo in the run-docker.sh script
Matthias Clasen [Fri, 15 May 2020 12:31:18 +0000 (08:31 -0400)]
ci: Add weston and weston-libs to the fedora image
We want to run tests under Wayland, using weston
as the compositor. The weston-libs package contains
the headless backend for weston.
Matthias Clasen [Fri, 15 May 2020 01:27:45 +0000 (21:27 -0400)]
gtk: Handle seatless displays
If you run weston with the headless backend, you get a Wayland
display with no seat, which is just fine by the protocol.
gdk_display_get_default_seat() returns NULL in this case. Various
widgets assume that we always have a seat with a keyboard and a
pointer, since that is what X guarantees. Make things survive
without that, so we can run the testsuite under a headless
Wayland compositor.
Matthias Clasen [Fri, 15 May 2020 03:14:04 +0000 (23:14 -0400)]
docs: Clarify gdk_display_get_default_seat() docs
This function can return %NULL if the display
does not have a seat. Document that.
Timm Bäder [Fri, 15 May 2020 11:19:05 +0000 (11:19 +0000)]
Merge branch 'wip/tintou/set_css_classes_array' into 'master'
widget: Add array annotation to set_css_classes
See merge request GNOME/gtk!1907
Corentin Noël [Fri, 15 May 2020 10:00:50 +0000 (12:00 +0200)]
widget: Add array annotation to set_css_classes
It expects a NULL-terminated array so annotate it.
Jakub Steiner [Fri, 15 May 2020 08:17:58 +0000 (08:17 +0000)]
Merge branch 'wip/jimmac/tabs-again-focus' into 'master'
Adwaita: notebook tab focus tweak
Closes #2721
See merge request GNOME/gtk!1906
Jakub Steiner [Fri, 15 May 2020 07:32:41 +0000 (09:32 +0200)]
Adwaita: notebook tab focus tweak
Finally fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2721
Matthias Clasen [Fri, 15 May 2020 01:38:38 +0000 (01:38 +0000)]
Merge branch 'tests-cleanup' into 'master'
Tests cleanup
See merge request GNOME/gtk!1904
Matthias Clasen [Fri, 15 May 2020 00:32:53 +0000 (20:32 -0400)]
tests: Drop testdnd3
This has been integrated in gtk4-demo as the
DND example.
See #2738
Matthias Clasen [Fri, 15 May 2020 00:15:59 +0000 (20:15 -0400)]
tests: Rename testheaderbar2 to testheaderbar
There is only one headerbar test now.
Matthias Clasen [Fri, 15 May 2020 00:01:45 +0000 (20:01 -0400)]
tests: Consolidate all headerbar tests
No need to have several binaries for this.
See #2738
Matthias Clasen [Thu, 14 May 2020 23:48:08 +0000 (19:48 -0400)]
tests: Drop testorientable
Not really that interesting, and it only
tests a single case of orientable, a box.
See #2738
Matthias Clasen [Thu, 14 May 2020 23:44:54 +0000 (19:44 -0400)]
tests: Drop testemblems
We no longer support emblems on icons.
See #2738