gtk4.git
2 years agolistitemmanager: Create widgets via vfunc
Benjamin Otte [Sun, 12 Mar 2023 17:36:57 +0000 (18:36 +0100)]
listitemmanager: Create widgets via vfunc

We now have listitemmanager just create GtkListItemBase objects via
vfunc and use them.

2 years agolistitemwidget: split out GtkListItemBase
Benjamin Otte [Sun, 12 Mar 2023 04:05:48 +0000 (05:05 +0100)]
listitemwidget: split out GtkListItemBase

There's 2 reasons for this:

1. Adding a custom widget for columnview rows
2. Using this as base class for sections

2 years agoitemmananger: Remove the user data
Benjamin Otte [Sun, 12 Mar 2023 00:13:37 +0000 (01:13 +0100)]
itemmananger: Remove the user data

Use the widget instead. They're the same anyway.

2 years agolistbase: Privatize 2 functions
Benjamin Otte [Sat, 11 Mar 2023 16:22:36 +0000 (17:22 +0100)]
listbase: Privatize 2 functions

They're not used outside of GtkListBase, so no use to have them in the
header.

Requires moving one function up in the source now that the forward
declaration is missing.

2 years agolistitemmanager: Clean up header
Benjamin Otte [Sat, 11 Mar 2023 16:41:06 +0000 (17:41 +0100)]
listitemmanager: Clean up header

Remove all unused functions and an unused macro.

2 years agoMerge branch 'texture-scale-test' into 'main'
Matthias Clasen [Thu, 23 Mar 2023 02:42:28 +0000 (02:42 +0000)]
Merge branch 'texture-scale-test' into 'main'

gsk: Add a test for scaled textures

See merge request GNOME/gtk!5686

2 years agoUpdate British English translation
Bruce Cowan [Wed, 22 Mar 2023 15:46:17 +0000 (15:46 +0000)]
Update British English translation

(cherry picked from commit d80cecec06c5196bad93be38cc11db86715cca77)

2 years agoMerge branch 'ebassi/ensure-file-chooser-types' into 'main'
Matthias Clasen [Wed, 22 Mar 2023 10:48:55 +0000 (10:48 +0000)]
Merge branch 'ebassi/ensure-file-chooser-types' into 'main'

Ensure GtkFileChooserCell's type

See merge request GNOME/gtk!5696

2 years agoEnsure GtkFileChooserCell's type
Emmanuele Bassi [Wed, 22 Mar 2023 10:23:28 +0000 (10:23 +0000)]
Ensure GtkFileChooserCell's type

Otherwise anything that dlopen()'s GTK will have a bad day.

See: https://discourse.gnome.org/t/strange-filechooserdialog-behaviour-in-gtk-4-10/14435

2 years agogsk: Improve slice handling
Matthias Clasen [Wed, 22 Mar 2023 03:26:55 +0000 (23:26 -0400)]
gsk: Improve slice handling

Upload slices in chunks, instead of copying
enormous amounts of memory.

2 years agogsk: Add more flexible texture upload
Matthias Clasen [Wed, 22 Mar 2023 02:55:03 +0000 (22:55 -0400)]
gsk: Add more flexible texture upload

Add a command queue function to create a
GL texture by uploading several GdkTextures
at given positions.
This lets us 'piece together' textures.

2 years agogsk: Tweak one test to pass
Matthias Clasen [Tue, 21 Mar 2023 02:43:35 +0000 (22:43 -0400)]
gsk: Tweak one test to pass

Clip away the problematic corners in this
artificial texture scaling test. The GL renderer
has problems getting them perfect.

2 years agogsk: Drop debug code
Matthias Clasen [Tue, 21 Mar 2023 01:49:42 +0000 (21:49 -0400)]
gsk: Drop debug code

2 years agogsk: Drop some unused arguments
Matthias Clasen [Tue, 21 Mar 2023 02:02:17 +0000 (22:02 -0400)]
gsk: Drop some unused arguments

All callers of the slice apis pass 0 for
min_rows and min_cols. So just drop these.

2 years agogsk: Use overlapping slices
Matthias Clasen [Mon, 20 Mar 2023 11:57:13 +0000 (07:57 -0400)]
gsk: Use overlapping slices

Store texture coordinates for each slice
instead of assuming 0,0,1,1, and generate
overlapping slices to allow for proper mipmaps.

This almost fixes trilinear filtering with
sliced textures.

2 years agogsk: Add a test for scaled textures
Matthias Clasen [Mon, 20 Mar 2023 00:25:14 +0000 (20:25 -0400)]
gsk: Add a test for scaled textures

GL and cairo disagree on this one, and have forever.
Whee!

2 years agogsk: Cosmetics
Matthias Clasen [Mon, 20 Mar 2023 10:57:56 +0000 (06:57 -0400)]
gsk: Cosmetics

2 years agoMerge branch 'matthiasc/for-main' into 'main'
Matthias Clasen [Wed, 22 Mar 2023 00:24:52 +0000 (00:24 +0000)]
Merge branch 'matthiasc/for-main' into 'main'

a11y: Add a test for gtk_accessible_role_to_name

See merge request GNOME/gtk!5694

2 years agoa11y: Add a test for gtk_accessible_role_to_name
Matthias Clasen [Wed, 22 Mar 2023 00:06:37 +0000 (20:06 -0400)]
a11y: Add a test for gtk_accessible_role_to_name

This should prevent !5693 from happening again
in the future.

2 years agoMerge branch 'fix_gtk_accessible_role_to_name_crash' into 'main'
Matthias Clasen [Tue, 21 Mar 2023 18:05:50 +0000 (18:05 +0000)]
Merge branch 'fix_gtk_accessible_role_to_name_crash' into 'main'

fix crash with gtk_accessible_role_to_name and GTK_ACCESSIBLE_ROLE_TOGGLE_BUTTON

See merge request GNOME/gtk!5693

2 years agofix crash with gtk_accessible_role_to_name and GTK_ACCESSIBLE_ROLE_TOGGLE_BUTTON
Caolán McNamara [Tue, 21 Mar 2023 15:04:12 +0000 (15:04 +0000)]
fix crash with gtk_accessible_role_to_name and GTK_ACCESSIBLE_ROLE_TOGGLE_BUTTON

presumably since:

commit de80f503e4db282a7343aa16d2803967d4179739
Date:   Thu Feb 23 14:22:20 2023 +0100

    a11y: Introduce a dedicated role for toggle buttons

2 years agoMerge branch 'wip/otte/for-main' into 'main'
Benjamin Otte [Tue, 21 Mar 2023 13:26:09 +0000 (13:26 +0000)]
Merge branch 'wip/otte/for-main' into 'main'

checkbutton: Only andle arrow focus if we're in a group

See merge request GNOME/gtk!5692

2 years agotestsuite: Add a treelistmodel test
Benjamin Otte [Sun, 19 Mar 2023 22:24:42 +0000 (23:24 +0100)]
testsuite: Add a treelistmodel test

This one exhaustively tests reusing the same model as a child model for
many nodes.
This tracks that multiple items-changed signals emitted at the same time
(or multiple handlers for one such signal) doesn't put the treelistmodel
in an inconsistent state while it is handling all of them.

I'm not sure this (ab)use of treelistmodel should be officially
supported, but it works today, so let's test it to see if we can keep it
working.

2 years agocheckbutton: Only andle arrow focus if we're in a group
Benjamin Otte [Tue, 21 Mar 2023 13:06:33 +0000 (14:06 +0100)]
checkbutton: Only andle arrow focus if we're in a group

If there is no other widget in the group that we can focus, don't focus
and activate ourselves.

Otherwise the arrow keys on checkbuttons toggle the checkbutton.

2 years agoMerge branch 'disabled-picture-opacity-fix' into 'main'
Matthias Clasen [Mon, 20 Mar 2023 23:06:44 +0000 (23:06 +0000)]
Merge branch 'disabled-picture-opacity-fix' into 'main'

theme: Use 0.5 opacity for disabled pictures

Closes #5683

See merge request GNOME/gtk!5689

2 years agotheme: Use 0.5 opacity for disabled pictures
Marco Trevisan (Treviño) [Mon, 20 Mar 2023 22:38:35 +0000 (23:38 +0100)]
theme: Use 0.5 opacity for disabled pictures

If a GtkImage is using an icon we use a gtk-icon-filter to se the icon
opacity when in insensitive state, however when using other kinds of
pictures we do not apply the same style leading to an inconsistent
result.

Closes: #5683
2 years agoMerge branch 'alatiera/fedora-bump' into 'main'
Matthias Clasen [Mon, 20 Mar 2023 14:39:15 +0000 (14:39 +0000)]
Merge branch 'alatiera/fedora-bump' into 'main'

ci: Use Fedora 38 as the base

See merge request GNOME/gtk!5688

2 years agovulkan: Update error codes enum
Jordan Petridis [Mon, 20 Mar 2023 14:15:05 +0000 (16:15 +0200)]
vulkan: Update error codes enum

2 years agoci: Use Fedora 38 as the base
Jordan Petridis [Mon, 20 Mar 2023 13:47:10 +0000 (15:47 +0200)]
ci: Use Fedora 38 as the base

2 years agoMerge branch 'bilelmoussaoui-main-patch-49195' into 'main'
Matthias Clasen [Mon, 20 Mar 2023 11:23:21 +0000 (11:23 +0000)]
Merge branch 'bilelmoussaoui-main-patch-49195' into 'main'

g-i: Add since annotation to GdkSurfaceSize

See merge request GNOME/gtk!5687

2 years agog-i: Add since annotation to GdkSurfaceSize
Bilal Elmoussaoui [Mon, 20 Mar 2023 08:14:25 +0000 (08:14 +0000)]
g-i: Add since annotation to GdkSurfaceSize

2 years agoMerge branch 'mipmap-more' into 'main'
Matthias Clasen [Mon, 20 Mar 2023 02:04:21 +0000 (02:04 +0000)]
Merge branch 'mipmap-more' into 'main'

gsk: Use mipmaps when it is beneficial

See merge request GNOME/gtk!5685

2 years agogsk: Use mipmaps when it is beneficial
Matthias Clasen [Mon, 20 Mar 2023 01:44:54 +0000 (21:44 -0400)]
gsk: Use mipmaps when it is beneficial

If a texture node ends up getting scaled
down a lot, it helps to use trilinear filtering.

2 years agoMerge branch 'wip/otte/for-main' into 'main'
Benjamin Otte [Sun, 19 Mar 2023 17:07:53 +0000 (17:07 +0000)]
Merge branch 'wip/otte/for-main' into 'main'

treelistmodel: Clear item in right place

Closes #5681

See merge request GNOME/gtk!5682

2 years agotreelistmodel: Clear item in right place
Benjamin Otte [Sun, 19 Mar 2023 16:30:18 +0000 (17:30 +0100)]
treelistmodel: Clear item in right place

Items should be cleared when the node is discarded, not when the node's
children are discarded - which can also happen when a node is collapsed.

Fixes an error introduced in 9048e391b60e19ccefa0b9fe51c466d16b42dcc4

Fixes #5681

2 years agoMerge branch 'texture-scale-tests' into 'main'
Matthias Clasen [Sun, 19 Mar 2023 14:54:34 +0000 (14:54 +0000)]
Merge branch 'texture-scale-tests' into 'main'

node-editor: Embed textures in testcases

See merge request GNOME/gtk!5681

2 years agoci: Make reports for all setups
Matthias Clasen [Sun, 19 Mar 2023 14:21:19 +0000 (10:21 -0400)]
ci: Make reports for all setups

2 years agotestsuite: Improve setup name consistency
Matthias Clasen [Sun, 19 Mar 2023 14:19:00 +0000 (10:19 -0400)]
testsuite: Improve setup name consistency

Rename the 'waylandgles' test setup to 'wayland_gles'.

2 years agoci: Run tests with small textures
Matthias Clasen [Sun, 19 Mar 2023 14:16:19 +0000 (10:16 -0400)]
ci: Run tests with small textures

2 years agotestsuite: Add a test setup for slicing
Matthias Clasen [Sun, 19 Mar 2023 14:08:01 +0000 (10:08 -0400)]
testsuite: Add a test setup for slicing

Add a 'wayland_smalltexture' test setup that forces
the max texture size to be 1024, which lets us test
the texture slicing codepaths.

2 years agotestsuite: Add some texture tests
Matthias Clasen [Sun, 19 Mar 2023 14:05:52 +0000 (10:05 -0400)]
testsuite: Add some texture tests

In constrast to our other tests, these use
textures that are big enough to force slicing
with setting GSK_MAX_TEXTURE_SIZE, which we
will use in the following commits to improve
test coverage.

2 years agonode-editor: Embed textures in testcases
Matthias Clasen [Sun, 19 Mar 2023 14:04:46 +0000 (10:04 -0400)]
node-editor: Embed textures in testcases

It is useless to have node files with references
to external files in the testsuite, so turn such
textures into data urls by doing a serialization
roundtrip.

2 years agoMerge branch 'wip/otte/for-main' into 'main'
Benjamin Otte [Sun, 19 Mar 2023 06:23:46 +0000 (06:23 +0000)]
Merge branch 'wip/otte/for-main' into 'main'

Fix inspector doing weird stuff

Closes #5646

See merge request GNOME/gtk!5678

2 years agotreelistmodel: Clarify docs
Benjamin Otte [Sun, 19 Mar 2023 04:25:52 +0000 (05:25 +0100)]
treelistmodel: Clarify docs

No user knows that we have an internal function called
gtk_tree_list_row_destroy() that gets called when a row gets removed
from the treelistmodel.

So everyone was probably just making stuff up about what "destroy"
means.

Related: #5646

2 years agotreelistmodel: Track the item in the row
Benjamin Otte [Sun, 19 Mar 2023 04:22:46 +0000 (05:22 +0100)]
treelistmodel: Track the item in the row

That way, we can return the item even after the row is removed. This is
particularly relevant in ListItemFactory::unbind callbacks because they
often use gtk_tree_list_row_get_item() and user code never tracks
changes to this property.

A side effect of this is that the item will survive until the row gets
destroyed, but that's what users expect anyway, so we can live with it.

Related: #5646

2 years agotreelistmodel: Cache the item
Benjamin Otte [Sun, 19 Mar 2023 04:04:51 +0000 (05:04 +0100)]
treelistmodel: Cache the item

This is a good idea to avoid reentrancy problems when any child model
(or potentially more than one child model) has started emitting
items-changed but the emission hasn't arrived in this model yet.

At tat point, we'd get_item() the wrong item from those models.

We want to avoid such cases of reentrancy.

Related: #5646

2 years agocssnode: Refer the correct previous item
Benjamin Otte [Sun, 19 Mar 2023 04:07:17 +0000 (05:07 +0100)]
cssnode: Refer the correct previous item

We disconnect from old_previous, not from the new previous.

Related: #5646

2 years agoMerge branch 'wip/matthiasc/samplers' into 'main'
Matthias Clasen [Sun, 19 Mar 2023 01:54:57 +0000 (01:54 +0000)]
Merge branch 'wip/matthiasc/samplers' into 'main'

glrenderer: Handle filters differently

See merge request GNOME/gtk!5676

2 years agoglrenderer: Support GL without samplers
Benjamin Otte [Fri, 17 Mar 2023 05:26:05 +0000 (06:26 +0100)]
glrenderer: Support GL without samplers

We cheat and just set the texture parameters instead and hope nothing
explodes.
So far it didn't.

This is only needed to support GLES 2.0 so it's quite a limited set of
hardware these days.

2 years agoglrenderer: Handle filters differently
Benjamin Otte [Fri, 17 Mar 2023 05:14:53 +0000 (06:14 +0100)]
glrenderer: Handle filters differently

Instead of uploading a texture once per filter, ensure textures are
uploaded as little as possible and use samplers instead to switch
different filters.

Sometimes we have to reupload a texture unfortunately, when it is an
external one and we want to create mipmaps.

2 years agoMerge branch 'docs-tweaks' into 'main'
Matthias Clasen [Sat, 18 Mar 2023 22:56:22 +0000 (22:56 +0000)]
Merge branch 'docs-tweaks' into 'main'

dropdown: tweak the docs

See merge request GNOME/gtk!5677

2 years agodocs: Cosmetics
Matthias Clasen [Sat, 18 Mar 2023 14:25:41 +0000 (10:25 -0400)]
docs: Cosmetics

2 years agodocs: Tweaks
Matthias Clasen [Sat, 18 Mar 2023 14:24:32 +0000 (10:24 -0400)]
docs: Tweaks

Tweak the wording in the list widget overview to
fix some typos and make things read more smoothly.

2 years agodropdown: tweak the docs
Matthias Clasen [Sat, 18 Mar 2023 14:24:06 +0000 (10:24 -0400)]
dropdown: tweak the docs

Add a link to the list widget overview.

2 years agoUpdate POTFILES.in and POTFILES.skip
Piotr Drąg [Sat, 18 Mar 2023 11:32:00 +0000 (12:32 +0100)]
Update POTFILES.in and POTFILES.skip

2 years agoMerge branch 'matthiasc/for-main' into 'main'
Matthias Clasen [Sat, 18 Mar 2023 04:25:25 +0000 (04:25 +0000)]
Merge branch 'matthiasc/for-main' into 'main'

gsk: Drop texture subsetting

See merge request GNOME/gtk!5675

2 years agogsk: Drop texture subsetting
Matthias Clasen [Sat, 18 Mar 2023 04:10:38 +0000 (00:10 -0400)]
gsk: Drop texture subsetting

We don't do this for unfiltered textures either,
and with working slicing, it isn't needed.

2 years agoMerge branch 'matthiasc/for-main' into 'main'
Matthias Clasen [Sat, 18 Mar 2023 03:55:56 +0000 (03:55 +0000)]
Merge branch 'matthiasc/for-main' into 'main'

Stop binding textdomain for -properties

See merge request GNOME/gtk!5674

2 years agoStop binding textdomain for -properties
Matthias Clasen [Sat, 18 Mar 2023 03:35:45 +0000 (23:35 -0400)]
Stop binding textdomain for -properties

We don't have these translations anymore.

2 years agoMerge branch 'fix-excessive-texture-uploads' into 'main'
Matthias Clasen [Sat, 18 Mar 2023 02:47:04 +0000 (02:47 +0000)]
Merge branch 'fix-excessive-texture-uploads' into 'main'

gsk: Avoid reuploading textures too much

See merge request GNOME/gtk!5673

2 years agogsk: Avoid reuploading textures too much
Matthias Clasen [Sat, 18 Mar 2023 02:28:27 +0000 (22:28 -0400)]
gsk: Avoid reuploading textures too much

When filtering changes for an already-cached
texture, we need to clear the render data
before setting the new one, otherwise it
does not take and we end up reuploading
the texture every frame.

2 years agoMerge branch 'matthiasc/for-main' into 'main'
Matthias Clasen [Sat, 18 Mar 2023 02:22:43 +0000 (02:22 +0000)]
Merge branch 'matthiasc/for-main' into 'main'

gtk4-builder-tool: Localization fixes

See merge request GNOME/gtk!5672

2 years agogtk4-builder-tool: Localization fixes
Matthias Clasen [Sat, 18 Mar 2023 02:04:25 +0000 (22:04 -0400)]
gtk4-builder-tool: Localization fixes

Be consistent about marking strings for
translation. And make locatization actually
work by including gi18n-lib.h instead of gi18n.h.

2 years agoUpdate Persian translation
Danial Behzadi [Sat, 18 Mar 2023 01:10:45 +0000 (01:10 +0000)]
Update Persian translation

(cherry picked from commit f55cbf56437e3e9da3a5998e583e523761243f0a)

2 years agoMerge branch 'matthiasc/for-main' into 'main'
Matthias Clasen [Fri, 17 Mar 2023 16:32:28 +0000 (16:32 +0000)]
Merge branch 'matthiasc/for-main' into 'main'

gtk-demo: Reset properties when the image changes

See merge request GNOME/gtk!5671

2 years agogtk-demo: Reset properties when the image changes
Matthias Clasen [Fri, 17 Mar 2023 15:48:44 +0000 (11:48 -0400)]
gtk-demo: Reset properties when the image changes

2 years agoMerge branch 'texture-scale-slicing' into 'main'
Matthias Clasen [Fri, 17 Mar 2023 15:44:07 +0000 (15:44 +0000)]
Merge branch 'texture-scale-slicing' into 'main'

gsk: Be more careful when slicing

Closes #5664

See merge request GNOME/gtk!5667

2 years agogsk: Drop texture subsetting
Matthias Clasen [Fri, 17 Mar 2023 15:25:38 +0000 (11:25 -0400)]
gsk: Drop texture subsetting

We don't do this for unfiltered textures either,
and with working slicing, it isn't needed.

2 years agoMerge branch 'broadway-disconnect-fix' into 'main'
Matthias Clasen [Fri, 17 Mar 2023 15:14:44 +0000 (15:14 +0000)]
Merge branch 'broadway-disconnect-fix' into 'main'

broadway: Don't cause traffic when disconnecting

See merge request GNOME/gtk!5670

2 years agobroadway: Don't cause traffic when disconnecting
Matthias Clasen [Fri, 17 Mar 2023 14:59:05 +0000 (10:59 -0400)]
broadway: Don't cause traffic when disconnecting

The recently added transient-for support was causing
roundtrips when a client with transients disconnects,
leading to assertion failures. Avoid that.

2 years agoMerge branch 'fix-broadway-docs' into 'main'
Matthias Clasen [Fri, 17 Mar 2023 13:17:19 +0000 (13:17 +0000)]
Merge branch 'fix-broadway-docs' into 'main'

docs: Update broadway docs

Closes #5662

See merge request GNOME/gtk!5669

2 years agodocs: Update broadway docs
Matthias Clasen [Fri, 17 Mar 2023 12:56:23 +0000 (08:56 -0400)]
docs: Update broadway docs

Using Broadway without broadwayd hasn't worked since 2013...

Fixes: #5662
2 years agogsk: Add slicing to texture scale nodes
Matthias Clasen [Fri, 17 Mar 2023 04:50:27 +0000 (00:50 -0400)]
gsk: Add slicing to texture scale nodes

This makes it possible to use large textures
with filtering.

Fixes: #5664
2 years agogsk: Be more careful when slicing
Matthias Clasen [Fri, 17 Mar 2023 04:50:01 +0000 (00:50 -0400)]
gsk: Be more careful when slicing

We can only reuse existing slices if they
have the right filtering.

2 years agoMerge branch 'wip/otte/for-main' into 'main'
Benjamin Otte [Fri, 17 Mar 2023 00:37:52 +0000 (00:37 +0000)]
Merge branch 'wip/otte/for-main' into 'main'

Various fixes

Closes #5669

See merge request GNOME/gtk!5665

2 years agoMerge branch 'gridview-filler-tile-fix' into 'main'
Benjamin Otte [Thu, 16 Mar 2023 23:50:13 +0000 (23:50 +0000)]
Merge branch 'gridview-filler-tile-fix' into 'main'

gridview: Fix condition for adding filler tiles

See merge request GNOME/gtk!5664

2 years agogldriver: Quick workaround for filter mismatch
Benjamin Otte [Thu, 16 Mar 2023 22:36:00 +0000 (23:36 +0100)]
gldriver: Quick workaround for filter mismatch

We should really use texture views or samplers to handle this case for
shared textures, but this at least makes NEAREST not break.

2 years agolistitem: Claim sequence when handling an event
Benjamin Otte [Thu, 16 Mar 2023 21:42:56 +0000 (22:42 +0100)]
listitem: Claim sequence when handling an event

See my rants on IRC for why we definitely need to claim gestures by
default in GTK5.

Fixes #5669

2 years agogridview: Fix condition for adding filler tiles
Алексей Шилин [Thu, 16 Mar 2023 21:21:09 +0000 (00:21 +0300)]
gridview: Fix condition for adding filler tiles

Code above ensures that i is always in [0, n_columns - 1] range, so
the condition was always true, which resulted in filler tile always
being added to the grid. As the result, an empty row appeared at the
end of the grid if the number of columns divided the number of items.

Only add filler tile if last row is not full, i.e. when i > 0.

2 years agoMerge branch 'fix_next_accessible_sibling_after_refcounts' into 'main'
Matthias Clasen [Thu, 16 Mar 2023 21:12:20 +0000 (21:12 +0000)]
Merge branch 'fix_next_accessible_sibling_after_refcounts' into 'main'

a11y: Fix the logic in gtk_accessible_get_next_accessible_sibling which decided whether we will use the overridden sibling on the context.

See merge request GNOME/gtk!5659

2 years agoMerge branch 'label-file-links' into 'main'
Matthias Clasen [Thu, 16 Mar 2023 21:07:29 +0000 (21:07 +0000)]
Merge branch 'label-file-links' into 'main'

label: Use GtkFileLauncher for file URI

Closes #5671

See merge request GNOME/gtk!5661

2 years agoMerge branch 'wip/otte/for-main' into 'main'
Benjamin Otte [Thu, 16 Mar 2023 20:59:17 +0000 (20:59 +0000)]
Merge branch 'wip/otte/for-main' into 'main'

Various small fixes

Closes #5380

See merge request GNOME/gtk!5662

2 years agolistview: Fix culling issues when using CSS padding
Benjamin Otte [Thu, 16 Mar 2023 20:27:35 +0000 (21:27 +0100)]
listview: Fix culling issues when using CSS padding

We were culling children based on the content box, but clipping via
overflow happens on the padding box, so we need to use that one instead.

Fixes issues with items not being visible / disappearing in Nautilus
when they are near the border.

Resolves #5380

2 years agorowstrides are gsize, not int
Benjamin Otte [Wed, 15 Mar 2023 00:46:19 +0000 (01:46 +0100)]
rowstrides are gsize, not int

gdk-pixbuf got that wrong, don't repeat that mistake.

2 years agowin32: Fix rowstride math
Benjamin Otte [Wed, 15 Mar 2023 00:45:48 +0000 (01:45 +0100)]
win32: Fix rowstride math

2 years agolabel: Use GtkFileLauncher for file URI
Matthias Clasen [Thu, 16 Mar 2023 20:06:49 +0000 (16:06 -0400)]
label: Use GtkFileLauncher for file URI

The GtkUriLauncher calls into the openuri portal, which distinguishes
between files, directories, and URI. The GtkFileLauncher contains logic
to deal with this, because it can already handle the file and folder
differences.

If we have a file:// URI it's easier to create a GFile out of it, and
use the GtkFileLauncher API, while leaving the GtkUriLauncher API for
every other URI scheme.

Same fix as de3c1d0c73987225869908, for GtkLabel.

Fixes: #5671
2 years agoMerge branch 'ebassi/issue-5671' into 'main'
Matthias Clasen [Thu, 16 Mar 2023 16:51:29 +0000 (16:51 +0000)]
Merge branch 'ebassi/issue-5671' into 'main'

linkbutton: Use GtkFileLauncher for file URI

Closes #5671

See merge request GNOME/gtk!5658

2 years agoAlways drop the reference of the ATContext
Lukáš Tyrychtr [Thu, 16 Mar 2023 16:15:08 +0000 (17:15 +0100)]
Always drop the reference of the ATContext

2 years agoa11y: Fix the logic in gtk_accessible_get_next_accessible_sibling which
Lukáš Tyrychtr [Thu, 16 Mar 2023 14:16:32 +0000 (15:16 +0100)]
a11y: Fix the logic in gtk_accessible_get_next_accessible_sibling which
decided whether we will use the overridden sibling on the context.

2 years agolinkbutton: Use GtkFileLauncher for file URI
Emmanuele Bassi [Thu, 16 Mar 2023 12:09:55 +0000 (12:09 +0000)]
linkbutton: Use GtkFileLauncher for file URI

The GtkUriLauncher calls into the openuri portal, which distinguishes
between files, directories, and URI. The GtkFileLauncher contains logic
to deal with this, because it can already handle the file and folder
differences.

If we have a file:// URI it's easier to create a GFile out of it, and
use the GtkFileLauncher API, while leaving the GtkUriLauncher API for
every other URI scheme.

Fixes: #5671
2 years agoUpdate French translation
Guillaume Bernard [Thu, 16 Mar 2023 10:24:29 +0000 (10:24 +0000)]
Update French translation

(cherry picked from commit 904e6a03a54854601fac7470b757cf6c9213eafc)

2 years agoMerge branch 'max-texture-size' into 'main'
Matthias Clasen [Thu, 16 Mar 2023 03:03:41 +0000 (03:03 +0000)]
Merge branch 'max-texture-size' into 'main'

gsk: Add a way to limit texture sizes

See merge request GNOME/gtk!5656

2 years agoMerge branch 'drag-gl-wayland-hotspot-fix' into 'main'
Benjamin Otte [Wed, 15 Mar 2023 23:36:44 +0000 (23:36 +0000)]
Merge branch 'drag-gl-wayland-hotspot-fix' into 'main'

wayland: Reset pending offset in GL path

See merge request GNOME/gtk!5657

2 years agowayland: Reset pending offset in GL path
Ivan Molodetskikh [Wed, 15 Mar 2023 23:11:40 +0000 (16:11 -0700)]
wayland: Reset pending offset in GL path

Otherwise GL surfaces that redraw without changing the hotspot have it
applied on top every frame and quickly slide away.

The cairo path and the X11 backend do not have this bug.

2 years agotestdndresize: Add non-resizing redrawing GL surface
Ivan Molodetskikh [Wed, 15 Mar 2023 23:09:51 +0000 (16:09 -0700)]
testdndresize: Add non-resizing redrawing GL surface

The GL Wayland drag surface code path has a bug where it does not reset
the hotspot, so if a GL-backed draw surface redraws without resizing or
resetting the hotspot, it moves away. The next commit will fix that, but
this commit adds a test for that.

2 years agogsk: Use linear filtering for sliced textures
Matthias Clasen [Wed, 15 Mar 2023 21:50:01 +0000 (17:50 -0400)]
gsk: Use linear filtering for sliced textures

We use linear for unsliced textures, so we need
to do the same for sliced ones.

2 years agogsk: Fix texture slicing
Matthias Clasen [Wed, 15 Mar 2023 19:45:01 +0000 (15:45 -0400)]
gsk: Fix texture slicing

We were just returning NULL for slices
here, which wasn't the intention.

2 years agogsk: Fix handling of large textures
Matthias Clasen [Wed, 15 Mar 2023 19:33:32 +0000 (15:33 -0400)]
gsk: Fix handling of large textures

When the texture is too large, actually
shrink the size to max_texture_size.

2 years agogsk: Add a way to limit texture sizes
Matthias Clasen [Wed, 15 Mar 2023 18:31:45 +0000 (14:31 -0400)]
gsk: Add a way to limit texture sizes

Allow to set max texture size using the
GSK_MAX_TEXTURE_SIZE environment variable.

We only allow to lower the max (for obvious
reasons), and we don't allow values smaller
than 512 (since our atlases use that size).

2 years agoMerge branch 'dragsurface-resize' into 'main'
Matthias Clasen [Wed, 15 Mar 2023 02:59:19 +0000 (02:59 +0000)]
Merge branch 'dragsurface-resize' into 'main'

Fix drag surfaces ignoring size updates on Wayland and X11

See merge request GNOME/gtk!5597