gtk4.git
3 years agoMerge branch 'ebassi/gidocgen-update' into 'main'
Matthias Clasen [Wed, 14 Dec 2022 16:24:48 +0000 (16:24 +0000)]
Merge branch 'ebassi/gidocgen-update' into 'main'

ci: Update the gi-docgen dependencies

See merge request GNOME/gtk!5263

3 years agoMerge branch 'gbsneto/filechooser-grid-view' into 'main'
Georges Basile Stavracas Neto [Wed, 14 Dec 2022 14:47:21 +0000 (14:47 +0000)]
Merge branch 'gbsneto/filechooser-grid-view' into 'main'

Add GtkGridView to the filechooser

Closes #233

See merge request GNOME/gtk!5163

3 years agoMerge branch 'appdialog' into 'main'
Matthias Clasen [Wed, 14 Dec 2022 13:24:20 +0000 (13:24 +0000)]
Merge branch 'appdialog' into 'main'

Add GtkAppDialog

See merge request GNOME/gtk!5284

3 years agoMerge branch 'gdk-win32-fix-native-decoration-resize' into 'main'
Luca Bacci [Wed, 14 Dec 2022 13:13:14 +0000 (13:13 +0000)]
Merge branch 'gdk-win32-fix-native-decoration-resize' into 'main'

GdkWin32: Fix resizes with native decorations

Closes #5142, #5088, and #5090

See merge request GNOME/gtk!5096

3 years agoUpdate Persian translation
Danial Behzadi [Wed, 14 Dec 2022 12:33:15 +0000 (12:33 +0000)]
Update Persian translation

(cherry picked from commit aabae9248269a01f105378da60ac7d3258460c88)

3 years agoMerge branch 'gdk-win32-modal-handling' into 'main'
Luca Bacci [Wed, 14 Dec 2022 10:08:42 +0000 (10:08 +0000)]
Merge branch 'gdk-win32-modal-handling' into 'main'

GdkWin32: Do not use MA_NOACTIVATEANDEAT

Closes #5297 and #5326

See merge request GNOME/gtk!5208

3 years agoMerge branch 'wip/otte/for-5422' into 'main'
Corey Berla [Wed, 14 Dec 2022 01:56:04 +0000 (01:56 +0000)]
Merge branch 'wip/otte/for-5422' into 'main'

contentserializer: Serialize to file:// if possible

Closes #5422

See merge request GNOME/gtk!5330

3 years agocontentserializer: Serialize to file:// if possible
Benjamin Otte [Wed, 14 Dec 2022 01:26:49 +0000 (02:26 +0100)]
contentserializer: Serialize to file:// if possible

Try to get a native file:// URI instead of any other GVFS
scheme, for interoperability with apps only handling file:// URIs.

This is what GTK3 Nautilus and Thunar do, so apps should be tuned
for this behavior.

See also https://bugzilla.xfce.org/show_bug.cgi?id=13845

Fixes: #5422
3 years agoMerge branch 'stylanydev' into 'main'
Matthias Clasen [Tue, 13 Dec 2022 19:34:12 +0000 (19:34 +0000)]
Merge branch 'stylanydev' into 'main'

Gtk.GestureStylus: implement `anydev` property

See merge request GNOME/gtk!4707

3 years agopathbar: Reimplement using GtkBox
Georges Basile Stavracas Neto [Thu, 24 Nov 2022 19:17:30 +0000 (16:17 -0300)]
pathbar: Reimplement using GtkBox

The path bar does a lot of manual management of buttons, mostly to
be able to show navigation arrows when there's not enough space to
show the full path.

Since the GTK4 migration, this is slightly broken in some cases, due
to the 'need_sliders' variable being always set to TRUE. Furthermore,
after the introduction of the Recent button as a special cased fake
root, the allocation of the buttons is generating warnings.

Reimplement the path bar as a GtkBox, inside a GtkScrolledWindow.
This mimics what Nautilus does, and allows us to make navigation more
predictable, and remove most of the complexity from GtkPathBar. It
also prevents it from generating allocation warnings.

The path bar itself now doesn't override GtkWidget.measure nor
GtkWidget.allocate; instead, it delegates layout to the GtkBinLayout
layout manager.

CSS is adjusted to account for the changed hierarchy of buttons.

3 years agofilechooserwidget: Improve grid cell visuals
Georges Basile Stavracas Neto [Wed, 26 Oct 2022 20:48:00 +0000 (17:48 -0300)]
filechooserwidget: Improve grid cell visuals

Use a GtkLabel instead of a GtkInscription to get filenames better
displayed within the available space.

3 years agofilechooserwidget: Don't check operation mode for tooltip
Georges Basile Stavracas Neto [Wed, 26 Oct 2022 20:38:07 +0000 (17:38 -0300)]
filechooserwidget: Don't check operation mode for tooltip

There's no way this could ever have been correct. We always want to
show the tooltip, and it's basically always available.

3 years agofilechooser: Add hover styles to the gridview children
Sam Hewitt [Wed, 26 Oct 2022 19:07:41 +0000 (16:37 -0230)]
filechooser: Add hover styles to the gridview children

3 years agofilechooserwidget: Add toggle view button clone in search
Georges Basile Stavracas Neto [Wed, 26 Oct 2022 18:01:20 +0000 (15:01 -0300)]
filechooserwidget: Add toggle view button clone in search

It's positioned and looks exactly like the browse_toggle_view_button,
but due to the way things are organized, we cannot simply reuse that
button.

Add a clone of browse_toggle_view_button in the search entry page of
the toolbar stack. Make it toggle the same action as of the original
button, and bind the icon name and tooltip texts to it too.

3 years agofilechooserwidget: Show pathbar in recent mode
Georges Basile Stavracas Neto [Wed, 26 Oct 2022 16:40:27 +0000 (13:40 -0300)]
filechooserwidget: Show pathbar in recent mode

As per design direction, show the pathbar in recent mode.

3 years agopathbar: Special case recent button
Georges Basile Stavracas Neto [Wed, 26 Oct 2022 16:38:23 +0000 (13:38 -0300)]
pathbar: Special case recent button

Soon pathbar will be shown on the Recent mode, with a static
path pointing to, well, Recent, so special case it in the
GtkPathBar with a static icon.

3 years agofilechooserwidget: Hide ColumnView settings in GridView
Corey Berla [Sun, 23 Oct 2022 18:03:44 +0000 (11:03 -0700)]
filechooserwidget: Hide ColumnView settings in GridView

3 years agofilechooser: Save and restore view type
Matthias Clasen [Sun, 23 Oct 2022 00:12:20 +0000 (20:12 -0400)]
filechooser: Save and restore view type

With this, the filechooser comes up with the
same view (grid or list) that it had the last
time you used it.

3 years agofilechooserwidget: Rename callback
Georges Basile Stavracas Neto [Sat, 22 Oct 2022 15:49:31 +0000 (12:49 -0300)]
filechooserwidget: Rename callback

It's shared between both column and grid views now.

3 years agofilechooserwidget: Implement 'keynav-failed' for grid view
Georges Basile Stavracas Neto [Sat, 22 Oct 2022 15:42:09 +0000 (12:42 -0300)]
filechooserwidget: Implement 'keynav-failed' for grid view

It's exactly the same as of the column view. Since we're sharing
the callback now, rename it to browse_files_view_keynav_failed_cb.

3 years agofilechooserwidget: Use correct view in various places
Georges Basile Stavracas Neto [Sat, 22 Oct 2022 15:39:40 +0000 (12:39 -0300)]
filechooserwidget: Use correct view in various places

Most of the pointer comparisons against 'browse_files_column_view'
should actually be performed against the current view widget. As
it turns out, it weren't that many places after all.

3 years agostyle: Improve filechooser grid view slightly
Georges Basile Stavracas Neto [Sat, 22 Oct 2022 13:07:28 +0000 (10:07 -0300)]
style: Improve filechooser grid view slightly

3 years agofilechooserwidget: Add a grid view
Georges Basile Stavracas Neto [Sat, 22 Oct 2022 12:51:36 +0000 (09:51 -0300)]
filechooserwidget: Add a grid view

Add a grid view outside of the widgetry tree. The grid view mimics
the column view using bindings, so we only need to manage the column
view.

Also add a button in the path bar section to toggle the view. This
is handled as a new 'toggle-view' action in the file chooser.

The way switching between views currently work is by setting either
the column or grid view as the child of the GtkScrolledWindow. This
has the benefit of unmapping the unused view, which is nice and can
avoid some tricky situations with thumbnails.

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/233

3 years agofilethumbnail: Add 'icon-size' property
Georges Basile Stavracas Neto [Sat, 22 Oct 2022 12:44:33 +0000 (09:44 -0300)]
filethumbnail: Add 'icon-size' property

This will be used by future commits so that we can reuse this widget
in the file chooser grid view.

3 years agoMerge branch 'harfbuzz-dep' into 'main'
Matthias Clasen [Tue, 13 Dec 2022 16:15:43 +0000 (16:15 +0000)]
Merge branch 'harfbuzz-dep' into 'main'

build: Use a stable harfbuzz

See merge request GNOME/gtk!5327

3 years agobuild: Use a stable harfbuzz
Matthias Clasen [Tue, 13 Dec 2022 14:29:16 +0000 (09:29 -0500)]
build: Use a stable harfbuzz

We don't need the latest harfbuzz.
Stick to 4.0 for now.

3 years agogtk-demo: Update the pickers demo
Matthias Clasen [Tue, 13 Dec 2022 12:49:10 +0000 (07:49 -0500)]
gtk-demo: Update the pickers demo

3 years agogtk: Update all callers
Matthias Clasen [Tue, 13 Dec 2022 12:49:02 +0000 (07:49 -0500)]
gtk: Update all callers

3 years agofilelauncher: Add a file property
Matthias Clasen [Tue, 13 Dec 2022 12:48:35 +0000 (07:48 -0500)]
filelauncher: Add a file property

3 years agoMerge branch 'docs/default-args' into 'main'
Matthias Clasen [Tue, 13 Dec 2022 12:17:07 +0000 (12:17 +0000)]
Merge branch 'docs/default-args' into 'main'

docs: Emphasize requirement to provide filenames as arguments

See merge request GNOME/gtk!5322

3 years agodocs: Emphasize requirement to give filenames as arguments
andy5995 [Sun, 11 Dec 2022 09:18:53 +0000 (03:18 -0600)]
docs: Emphasize requirement to give filenames as arguments

(related to #5430)

3 years agoMerge branch 'sunflowerskater-main-patch-64457' into 'main'
Matthias Clasen [Mon, 12 Dec 2022 16:48:56 +0000 (16:48 +0000)]
Merge branch 'sunflowerskater-main-patch-64457' into 'main'

appchooser: Rename "application" to "app"

See merge request GNOME/gtk!5323

3 years agoappchooserbutton: Rename "application" to "app"
sunflowerskater [Sun, 11 Dec 2022 22:20:12 +0000 (19:20 -0300)]
appchooserbutton: Rename "application" to "app"

This change is a part of an initiative to use the word "app" instead of "application" in the UI:

Teams/Design/initiatives#123

3 years agoappchooserwidget: Rename "application" to "app"
sunflowerskater [Sun, 11 Dec 2022 22:13:51 +0000 (19:13 -0300)]
appchooserwidget: Rename "application" to "app"

This change is a part of an initiative to use the word "app" instead of "application" in the UI:

https://gitlab.gnome.org/Teams/Design/initiatives/-/issues/123

3 years agoappchooser: Rename "application" to "app"
sunflowerskater [Sun, 11 Dec 2022 20:05:54 +0000 (20:05 +0000)]
appchooser: Rename "application" to "app"

This change is a part of an initiative to use the word "app" instead of "application" in the UI: https://gitlab.gnome.org/Teams/Design/initiatives/-/issues/123

3 years agoMerge branch 'popover-present-docs' into 'main'
Matthias Clasen [Sun, 11 Dec 2022 04:03:10 +0000 (04:03 +0000)]
Merge branch 'popover-present-docs' into 'main'

popover: Clarify docs

See merge request GNOME/gtk!5318

3 years agoMerge branch 'ebassi/image-dispose' into 'main'
Matthias Clasen [Sun, 11 Dec 2022 04:02:49 +0000 (04:02 +0000)]
Merge branch 'ebassi/image-dispose' into 'main'

Do not change the notification queue inside finalization

Closes #5420

See merge request GNOME/gtk!5321

3 years agoMerge branch 'builder-scope-note' into 'main'
Matthias Clasen [Sun, 11 Dec 2022 01:07:21 +0000 (01:07 +0000)]
Merge branch 'builder-scope-note' into 'main'

builderscope: Add a note for implementors

See merge request GNOME/gtk!5317

3 years agoDo not change the notification queue inside finalization
Emmanuele Bassi [Sun, 11 Dec 2022 00:36:03 +0000 (00:36 +0000)]
Do not change the notification queue inside finalization

Notifications are not going to be emitted during the finalization, and
GObject will warn if you try to acquire and release a reference to the
notification queue when the reference count of an object has reached
zero.

Fixes: #5420
3 years agobuilderscope: Add a note for implementors
Matthias Clasen [Sat, 10 Dec 2022 21:02:07 +0000 (16:02 -0500)]
builderscope: Add a note for implementors

Recommend that scope implementations should fall
back to or derive from GtkBuilderCScope in order
to not lose GTK's type-guessing machinery.

Related: #5398

3 years agopopover: Clarify docs
Matthias Clasen [Sat, 10 Dec 2022 21:36:00 +0000 (16:36 -0500)]
popover: Clarify docs

gtk_popover_present() is a misleadingly named
function, so at least give it clear docs that
tell people to use gtk_popover_popup() instead.

3 years agoMerge branch 'docs/deprecated-G_APPLICATION_FLAGS_NONE' into 'main'
Matthias Clasen [Sat, 10 Dec 2022 20:53:09 +0000 (20:53 +0000)]
Merge branch 'docs/deprecated-G_APPLICATION_FLAGS_NONE' into 'main'

docs: Update deprecated G_APPLICATION_FLAGS_NONE in examples

See merge request GNOME/gtk!5315

3 years agodocs: Update deprecated G_APPLICATION_FLAGS_NONE
andy5995 [Sat, 10 Dec 2022 07:12:13 +0000 (01:12 -0600)]
docs: Update deprecated G_APPLICATION_FLAGS_NONE

3 years agoMerge branch 'deprecate-keys-changed' into 'main'
Matthias Clasen [Fri, 9 Dec 2022 19:03:01 +0000 (19:03 +0000)]
Merge branch 'deprecate-keys-changed' into 'main'

treeview: Drop a few unused variables

See merge request GNOME/gtk!5314

3 years agoDeprecate gtk_show_uri
Matthias Clasen [Fri, 9 Dec 2022 16:11:04 +0000 (11:11 -0500)]
Deprecate gtk_show_uri

This API has been superseded by GtkFileLauncher.

3 years agogtk: Stop using gtk_show_uri
Matthias Clasen [Tue, 29 Nov 2022 19:11:26 +0000 (14:11 -0500)]
gtk: Stop using gtk_show_uri

Replace all uses of gtk_show_uri
with GtkFileLauncher.

3 years agogtk-demo: Add a GtkFileLauncher demo
Matthias Clasen [Tue, 29 Nov 2022 18:04:56 +0000 (13:04 -0500)]
gtk-demo: Add a GtkFileLauncher demo

Replace the deprecated app chooser button by a
button that calls gtk_file_launcher_launch.

3 years agoAdd GtkFileLauncher
Matthias Clasen [Sun, 27 Nov 2022 02:26:47 +0000 (21:26 -0500)]
Add GtkFileLauncher

This is a replacement for gtk_show_uri_full,
which can open a GFile in an application, or
open its containing folder in a file manager.

3 years agowindow: Deprecate the ::keys-changed signal
Matthias Clasen [Fri, 9 Dec 2022 18:14:06 +0000 (13:14 -0500)]
window: Deprecate the ::keys-changed signal

3 years agotests: Silence a compiler warning
Matthias Clasen [Fri, 9 Dec 2022 18:13:24 +0000 (13:13 -0500)]
tests: Silence a compiler warning

3 years agotreeview: Drop a few unused variables
Matthias Clasen [Fri, 9 Dec 2022 18:12:47 +0000 (13:12 -0500)]
treeview: Drop a few unused variables

Compilers get pickier every year...

3 years agocomposetable: Drop an unused variable
Matthias Clasen [Fri, 9 Dec 2022 18:09:34 +0000 (13:09 -0500)]
composetable: Drop an unused variable

3 years agoAdd Interlingue translation
Olga Smirnova [Fri, 9 Dec 2022 17:24:41 +0000 (17:24 +0000)]
Add Interlingue translation

3 years agoMerge branch 'dialog-fixes' into 'main'
Matthias Clasen [Fri, 9 Dec 2022 16:22:00 +0000 (16:22 +0000)]
Merge branch 'dialog-fixes' into 'main'

filechooserwidget: Fixes

See merge request GNOME/gtk!5311

3 years agoopenuriportal: Better error handling
Matthias Clasen [Tue, 29 Nov 2022 23:45:22 +0000 (18:45 -0500)]
openuriportal: Better error handling

Nested async calls are always a challenge.

Hopefully, things are straightened out now,
and we report GTK_DIALOG_ERROR errors for
the cases we care about.

3 years agoopenuriportal: Add a check function
Matthias Clasen [Tue, 29 Nov 2022 18:03:34 +0000 (13:03 -0500)]
openuriportal: Add a check function

Add private API to check whether the portal
is available.

3 years agoopenuriportal: Support OpenDirectory
Matthias Clasen [Tue, 29 Nov 2022 15:51:55 +0000 (10:51 -0500)]
openuriportal: Support OpenDirectory

This required an extra argument. Update all callers.

3 years agoopenuriportal: Cosmetics
Matthias Clasen [Tue, 29 Nov 2022 18:04:10 +0000 (13:04 -0500)]
openuriportal: Cosmetics

There were some copy-paste errors.

3 years agofontdialog: Improve docs
Matthias Clasen [Wed, 30 Nov 2022 00:59:05 +0000 (19:59 -0500)]
fontdialog: Improve docs

Be more specific about possible errors.

3 years agocolordialog: Improve the docs
Matthias Clasen [Wed, 30 Nov 2022 00:58:44 +0000 (19:58 -0500)]
colordialog: Improve the docs

Be more specific about possible errors.

3 years agofontdialog: Don't forget to propagate errors
Matthias Clasen [Wed, 30 Nov 2022 00:41:06 +0000 (19:41 -0500)]
fontdialog: Don't forget to propagate errors

Oops.

3 years agofontdialogbutton: Survive window closing
Matthias Clasen [Wed, 30 Nov 2022 00:27:02 +0000 (19:27 -0500)]
fontdialogbutton: Survive window closing

If the parent window of the button gets destroyed
while the dialog is open, we cancel the async op,
but we need to be a little more careful about not
stepping on glass.

3 years agocolordialogbutton: Survive window closing
Matthias Clasen [Wed, 30 Nov 2022 00:25:54 +0000 (19:25 -0500)]
colordialogbutton: Survive window closing

If the parent window of the button gets destroyed
while the dialog is open, we cancel the async op,
but we need to be a little more careful about not
stepping on glass.

3 years agofontdialog: Unset check cancellable
Matthias Clasen [Wed, 30 Nov 2022 00:25:40 +0000 (19:25 -0500)]
fontdialog: Unset check cancellable

3 years agocolordialog: Unset check cancellable
Matthias Clasen [Wed, 30 Nov 2022 00:25:12 +0000 (19:25 -0500)]
colordialog: Unset check cancellable

3 years agofiledialog: Report cancellation propertly
Matthias Clasen [Tue, 29 Nov 2022 23:59:23 +0000 (18:59 -0500)]
filedialog: Report cancellation propertly

Unless we prevent it, GTask will always report
cancellation as G_IO_ERROR_CANCELLED. But we
want GTK_DIALOG_ERROR_ABORTED for this case.

3 years agofilechooserwidget: Fixes
Matthias Clasen [Tue, 29 Nov 2022 18:30:00 +0000 (13:30 -0500)]
filechooserwidget: Fixes

Fix a memory leak in the file manager launch path.

3 years agoMerge branch 'wip/corey/column-view-header' into 'main'
Matthias Clasen [Fri, 9 Dec 2022 15:28:58 +0000 (15:28 +0000)]
Merge branch 'wip/corey/column-view-header' into 'main'

columnviewtitle: Prevent header clicks from propagating

Closes #5425

See merge request GNOME/gtk!5306

3 years agoMerge branch 'matthiasc/node-editor-srcdir' into 'main'
Matthias Clasen [Fri, 9 Dec 2022 15:22:00 +0000 (15:22 +0000)]
Merge branch 'matthiasc/node-editor-srcdir' into 'main'

node-editor: Redo saving location

Closes #5403

See merge request GNOME/gtk!5310

3 years agoRemove leftover debug spew
Matthias Clasen [Fri, 9 Dec 2022 15:04:42 +0000 (10:04 -0500)]
Remove leftover debug spew

3 years agonode-editor: Redo saving location
Matthias Clasen [Tue, 6 Dec 2022 11:13:59 +0000 (11:13 +0000)]
node-editor: Redo saving location

Determine the location to save testcases in dynamically,
trying first a GTK_SOURCE_DIR environment variable
and then the current directory as the GTK source dir,
ultimatively falling back to just saving in the current
directory.

This avoids leaking details of the build environment
into the produced artifacts and should make GTK builds
more reproducible.

Fixes: #5403
3 years agoMerge branch 'fix-file-dialog-title' into 'main'
Matthias Clasen [Thu, 8 Dec 2022 13:16:55 +0000 (13:16 +0000)]
Merge branch 'fix-file-dialog-title' into 'main'

filedialog: Use title if set

Closes #5415

See merge request GNOME/gtk!5308

3 years agofiledialog: Use title if set
Matthias Clasen [Thu, 8 Dec 2022 12:57:16 +0000 (07:57 -0500)]
filedialog: Use title if set

This broken when the code was reshuffled into
the switch.

Fixes: #5415
3 years agoMerge branch 'wip/carlosg/stale-timeout' into 'main'
Matthias Clasen [Thu, 8 Dec 2022 12:18:37 +0000 (12:18 +0000)]
Merge branch 'wip/carlosg/stale-timeout' into 'main'

gdk/x11: Clear all data in GdkSurfaceX11 finalization

See merge request GNOME/gtk!5303

3 years agoMerge branch 'macos-unused-vars' into 'main'
Matthias Clasen [Thu, 8 Dec 2022 12:17:13 +0000 (12:17 +0000)]
Merge branch 'macos-unused-vars' into 'main'

macos: remove unused variables from macos code

See merge request GNOME/gtk!5290

3 years agoMerge branch 'ccook/spelling-changes' into 'main'
Matthias Clasen [Thu, 8 Dec 2022 12:16:22 +0000 (12:16 +0000)]
Merge branch 'ccook/spelling-changes' into 'main'

Various spelling mistakes across a few domains that show up in documentation.

See merge request GNOME/gtk!5292

3 years agoVarious spelling mistakes across a few domains that show up in documentation.
Cam Cook [Thu, 8 Dec 2022 12:16:22 +0000 (12:16 +0000)]
Various spelling mistakes across a few domains that show up in documentation.

3 years agoMerge branch 'emoji-recent-empty' into 'main'
Matthias Clasen [Thu, 8 Dec 2022 12:09:26 +0000 (12:09 +0000)]
Merge branch 'emoji-recent-empty' into 'main'

emojichooser: Actually disable the recent section

See merge request GNOME/gtk!5305

3 years agoGdkWin32: Fix resizes with native decorations
Luca Bacci [Fri, 7 Oct 2022 16:15:29 +0000 (18:15 +0200)]
GdkWin32: Fix resizes with native decorations

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/5142
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/5088
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/5090

3 years agocolumnviewtitle: Prevent header clicks from propagating
Corey Berla [Wed, 7 Dec 2022 20:25:09 +0000 (10:25 -1000)]
columnviewtitle: Prevent header clicks from propagating

The header in GtkColumnView has multiple event handlers
there is a ::pressed handler in GtkColumnView for
resizing the columns in CAPTURE as well as a motion
and drag controller.  The ::release handler is in
GtkColumnViewTitle.   We can't claim the event in the
existing handlers because then the ::release handler will
never get called.  Currently, however, all clicks get propagated
to the ColumnView from the header which can be problematic.
Since we don't usually want the clicks from the header
handled on the view, claim it in the BUBBLE phase.

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/5425
3 years agoemojichooser: Actually disable the recent section
Guido Günther [Wed, 7 Dec 2022 18:26:29 +0000 (19:26 +0100)]
emojichooser: Actually disable the recent section

The loop sets empty = FALSE when there are emojis but for that
to work we need to initialize the value to TRUE initially.

Fixes: 7928532bc5c33b2c6a10bae138ebc6dca1843cb0
3 years agogdk/x11: Clear all data in GdkSurfaceX11 finalization
Carlos Garnacho [Wed, 7 Dec 2022 12:16:36 +0000 (13:16 +0100)]
gdk/x11: Clear all data in GdkSurfaceX11 finalization

Currently, the GdkSurfaceX11 implementation relies that the upper
layers hid the surface before destruction, and that no
GdkSurfaceClass.compute_resize happened between them. If these
circumstances happened, there would be a compute_size timeout left
dangling after the surface got destroyed, poking at incorrect data
later on. Something that looks like this was reported in the
recent mutter-x11-frames "SSD frames server":

    mutter-x11-frames:423016): GLib-GObject-WARNING **: 19:41:16.869: invalid unclassed pointer in cast to 'GtkWindow'

    Thread 1 "mutter-x11-fram" received signal SIGTRAP, Trace/breakpoint trap.
    g_logv (log_domain=0x7ffff7f7c4f8 "GLib-GObject", log_level=G_LOG_LEVEL_WARNING, format=<optimized out>, args=<optimized out>) at ../../../glib/gmessages.c:1433
    1433 ../../../glib/gmessages.c: No such file or directory.
    (gdb) bt
    #0  g_logv (log_domain=0x7ffff7f7c4f8 "GLib-GObject", log_level=G_LOG_LEVEL_WARNING, format=<optimized out>, args=<optimized out>) at ../../../glib/gmessages.c:1433
    #1  0x00007ffff73470ff in g_log (log_domain=log_domain@entry=0x7ffff7f7c4f8 "GLib-GObject", log_level=log_level@entry=G_LOG_LEVEL_WARNING, format=format@entry=0x7ffff7f84da8 "invalid unclassed pointer in cast to '%s'")
        at ../../../glib/gmessages.c:1471
    #2  0x00007ffff7f72892 in g_type_check_instance_cast (type_instance=type_instance@entry=0x5555558e04b0, iface_type=<optimized out>) at ../../../gobject/gtype.c:4144
    #3  0x00007ffff791e77d in toplevel_compute_size (toplevel=<optimized out>, size=0x7fffffffe170, widget=0x5555558e04b0) at ../../../gtk/gtkwindow.c:4227
    #4  0x00007ffff7f4f3b0 in g_closure_invoke (closure=0x555555898cc0, return_value=return_value@entry=0x0, n_param_values=2, param_values=param_values@entry=0x7fffffffdeb0, invocation_hint=invocation_hint@entry=0x7fffffffde30)
        at ../../../gobject/gclosure.c:832
    #5  0x00007ffff7f62076 in signal_emit_unlocked_R
        (node=node@entry=0x55555588feb0, detail=detail@entry=0, instance=instance@entry=0x55555560e990, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffdeb0)
        at ../../../gobject/gsignal.c:3796
    #6  0x00007ffff7f68bf5 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffe050) at ../../../gobject/gsignal.c:3549
    #7  0x00007ffff7f68dbf in <emit signal ??? on instance 0x55555560e990 [GdkX11Toplevel]> (instance=<optimized out>, signal_id=<optimized out>, detail=detail@entry=0) at ../../../gobject/gsignal.c:3606
    #8  0x00007ffff7a8de96 in gdk_toplevel_notify_compute_size (toplevel=<optimized out>, size=size@entry=0x7fffffffe170) at ../../../gdk/gdktoplevel.c:112
    #9  0x00007ffff7a4b15a in compute_toplevel_size (surface=surface@entry=0x55555560e990 [GdkX11Toplevel], update_geometry=update_geometry@entry=1, width=width@entry=0x7fffffffe220, height=height@entry=0x7fffffffe224)
        at ../../../gdk/x11/gdksurface-x11.c:281
    #10 0x00007ffff7a4c3b2 in compute_size_idle (user_data=0x55555560e990) at ../../../gdk/x11/gdksurface-x11.c:356
    #11 0x00007ffff733f67f in g_main_dispatch (context=0x55555563f6e0) at ../../../glib/gmain.c:3444
    #12 g_main_context_dispatch (context=context@entry=0x55555563f6e0) at ../../../glib/gmain.c:4162
    #13 0x00007ffff733fa38 in g_main_context_iterate (context=0x55555563f6e0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4238
    #14 0x00007ffff733fcef in g_main_loop_run (loop=loop@entry=0x5555560874a0) at ../../../glib/gmain.c:4438
    #15 0x0000555555557de0 in main (argc=<optimized out>, argv=<optimized out>) at ../src/frames/main.c:68

It perhaps makes sense to warn in these situations, but either way
it sounds like gdk_surface_x11_finalize() could enforce the correct
behavior by ensuring there is no dangling timeouts/data. This commit
does that.

3 years agoCleanup: remove unused variables from macos code
Arjan Molenaar [Sat, 12 Nov 2022 19:38:29 +0000 (20:38 +0100)]
Cleanup: remove unused variables from macos code

Remove unused variables. In case if Cairo code it would
allocate memory, which would result in a memory leak.

3 years agoMerge branch 'workaround-glx-issue' into 'main'
Benjamin Otte [Fri, 2 Dec 2022 15:32:22 +0000 (15:32 +0000)]
Merge branch 'workaround-glx-issue' into 'main'

GLX: Add extra glXMakeContextCurrent () call to work around a DRI issue

Closes #4499, #5387, and #5170

See merge request GNOME/gtk!5285

3 years agoGLX: Add extra glXMakeContextCurrent () call to work around a DRI issue
Luca Bacci [Thu, 1 Dec 2022 17:18:23 +0000 (18:18 +0100)]
GLX: Add extra glXMakeContextCurrent () call to work around a DRI issue

Reference: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7808

Fixes #4499, #5387, #5170

3 years agoMerge branch 'wip/corey/tree-expander-bug' into 'main'
Benjamin Otte [Wed, 30 Nov 2022 19:06:12 +0000 (19:06 +0000)]
Merge branch 'wip/corey/tree-expander-bug' into 'main'

Improve treeexpanders

See merge request GNOME/gtk!5282

3 years agolist: Remove active state handling in listitemwidget and treeexpander
Corey Berla [Wed, 30 Nov 2022 18:48:14 +0000 (10:48 -0800)]
list: Remove active state handling in listitemwidget and treeexpander

Active state is handled by main now.  It appears that listitem and
treeexpander handled it manually (probably before main did).  This
is unnecessary now, so let's remove it.

3 years agotreeexpander: Scroll to expanded item
Corey Berla [Wed, 30 Nov 2022 04:00:48 +0000 (20:00 -0800)]
treeexpander: Scroll to expanded item

If the anchor is below the expanded item, the expanded item will
go out of view if there are sufficient children items.  This is not
ideal, so make sure to scroll to the item to ensure it remains in
view.

3 years agolistitemwidget: Add listitem.scroll-to action
Corey Berla [Wed, 30 Nov 2022 03:58:25 +0000 (19:58 -0800)]
listitemwidget: Add listitem.scroll-to action

This is the matching action for list.scroll-to-item

3 years agotreeexpander: Toggle expand on release instead of pressed
Corey Berla [Tue, 29 Nov 2022 22:58:29 +0000 (14:58 -0800)]
treeexpander: Toggle expand on release instead of pressed

With the introduction of the hide-expander property, I noticed that
the active state would persist in many cases because the release
signal was never emitted.  In gtk3 tree expanders, expanded
on release.  gtk4 expanded on press to match window explorer.
Per irc chat, the designers didn't have a strong preference
for press or release.  In order to keep consistency and
fix this bug, let's move back to release.

3 years agotreeexpander: Fix typo and GestureClick type
Corey Berla [Tue, 29 Nov 2022 22:57:19 +0000 (14:57 -0800)]
treeexpander: Fix typo and GestureClick type

"canceled" should be "cancelled".  Also, "cancel" is a signal on
GtkGesture.

3 years agoMerge branch 'ebassi/for-main' into 'main'
Emmanuele Bassi [Tue, 29 Nov 2022 14:08:13 +0000 (14:08 +0000)]
Merge branch 'ebassi/for-main' into 'main'

docs: Fix property cross-links in GtkTreeExpander

See merge request GNOME/gtk!5279

3 years agodocs: Fix property cross-links in GtkTreeExpander
Emmanuele Bassi [Tue, 29 Nov 2022 13:49:35 +0000 (13:49 +0000)]
docs: Fix property cross-links in GtkTreeExpander

3 years agoMerge branch 'matthiasc/for-main' into 'main'
Matthias Clasen [Tue, 29 Nov 2022 12:09:33 +0000 (12:09 +0000)]
Merge branch 'matthiasc/for-main' into 'main'

testsuite: Skip tests that miss charset support

See merge request GNOME/gtk!5277

3 years agoMerge branch 'ccook/spelling-fixes' into 'main'
Matthias Clasen [Tue, 29 Nov 2022 08:57:48 +0000 (08:57 +0000)]
Merge branch 'ccook/spelling-fixes' into 'main'

docfix: Various spelling errors that show up in docs

See merge request GNOME/gtk!5272

3 years agotestsuite: Skip tests that miss charset support
Matthias Clasen [Tue, 29 Nov 2022 08:52:27 +0000 (03:52 -0500)]
testsuite: Skip tests that miss charset support

This came up when running the tests in a fresh
toolbox missing the glibc-gconv-extra package.

3 years agoMerge branch 'wip/corey/at-spi-context' into 'main'
Matthias Clasen [Tue, 29 Nov 2022 07:51:23 +0000 (07:51 +0000)]
Merge branch 'wip/corey/at-spi-context' into 'main'

atspicontext: Cache empty atspi bus address

See merge request GNOME/gtk!5276

3 years agoMerge branch 'show-hide-cleanup' into 'main'
Matthias Clasen [Tue, 29 Nov 2022 07:30:04 +0000 (07:30 +0000)]
Merge branch 'show-hide-cleanup' into 'main'

gtk: Stop using gtk_widget_show/hide

See merge request GNOME/gtk!5273

3 years agoatspicontext: Log more helpful warnings when the a11y bus doesn't exist
Corey Berla [Tue, 29 Nov 2022 00:34:12 +0000 (16:34 -0800)]
atspicontext: Log more helpful warnings when the a11y bus doesn't exist

3 years agoatspicontext: Cache empty atspi bus address
Corey Berla [Tue, 29 Nov 2022 00:32:52 +0000 (16:32 -0800)]
atspicontext: Cache empty atspi bus address

We are caching the bus address as data on the display object when it
exists, but fail to set the data when the bus address doesn't exist.
That causing excessive calls to GetAddress when the accesssbility
bus doesn't exist. Make sure to cache a non-existent accessibility
bus by setting the "" string.