- 29 Jul, 2022 1 commit
-
-
Caolán McNamara authored
In LibreOffice using gtk4 I get frequent: (soffice:2054897): Gtk-CRITICAL **: 19:56:51.490: gtk_tristate_accessible_value_get: assertion 'value->value_class == >K_TRISTATE_ACCESSIBLE_VALUE' failed warnings on navigating toplevel menus. Debugging I see that gtk_tristate_accessible_value_get fails because the value for GTK_ACCESSIBLE_STATE_CHECKED is GTK_UNDEFINED_ACCESSIBLE_VALUE when queried. the issue seems to be: a) libreoffice has a checkbox menu entry b) sometimes g_action_group_action_removed is called on a "checked" item c) gtk_menu_tracker_item_action_removed is called and changes the "role" from GTK_MENU_TRACKER_ITEM_ROLE_CHECKED to GTK_MENU_TRACKER_ITEM_ROLE_NORMAL d) gtk_model_button_set_role calls update_accessible_properties which does gtk_accessible_reset_state(..., GTK_ACCESSIBLE_STATE_CHECKED) because the role is no longer GTK_BUTTON_ROLE_CHECK. e) GTK_ACCESSIBLE_STATE_CHANGE_CHECKED is set because the state changed, but the value of the checked state is now GTK_UNDEFINED_ACCESSIBLE_VALUE, triggering the Gtk-CRITICAL not sure why the role is changed when the item is removed, in this speculative commit if the role is left unchanged then the warning doesn't happen anymore as expected. 0x00007fffd8b5b3a7 in gtk_tristate_accessible_value_get (value=<optimized out>) at ../gtk/gtkaccessiblevaluestatic.c:205 gtk_at_spi_context_state_change (ctx=<optimized out>, changed_states=<optimized out>, changed_properties=<optimized out>, changed_relations=<optimized out>, states=<optimized out>, properties=0xa939a00, relations=0xa939b80) at ../gtk/a11y/gtkatspicontext.c:956 0x00007fffd88c3733 in gtk_at_context_update (self=0x99478c0) at ../gtk/gtkatcontext.c:699 gtk_at_context_update (self=0x99478c0) at ../gtk/gtkatcontext.c:686 0x00007fffd89b7470 in update_accessible_properties (button=0x992fb00) at ../gtk/gtkmodelbutton.c:583 0x00007fffd89b78a8 in gtk_model_button_set_role (role=<optimized out>, self=0x992fb00) at ../gtk/gtkmodelbutton.c:615 gtk_model_button_set_property (object=0x992fb00, prop_id=<optimized out>, value=<optimized out>, pspec=<optimized out>) at ../gtk/gtkmodelbutton.c:949 0x00007ffff25c4ab5 in object_set_property () at /lib64/libgobject-2.0.so.0 0x00007ffff25c6c71 in g_object_setv () at /lib64/libgobject-2.0.so.0 0x00007ffff25c6d4f in g_object_set_property () at /lib64/libgobject-2.0.so.0 0x00007ffff25b63c3 in on_source_notify () at /lib64/libgobject-2.0.so.0 0x00007ffff25b4db0 in g_closure_invoke () at /lib64/libgobject-2.0.so.0 0x00007ffff25e14d6 in signal_emit_unlocked_R.isra.0 () at /lib64/libgobject-2.0.so.0 0x00007ffff25d1a2e in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0 0x00007ffff25d1cb3 in g_signal_emit () at /lib64/libgobject-2.0.so.0 0x00007ffff25bf204 in g_object_dispatch_properties_changed.lto_priv () at /lib64/libgobject-2.0.so.0 0x00007ffff25b539c in g_object_notify_queue_thaw.lto_priv () at /lib64/libgobject-2.0.so.0 0x00007ffff25c302b in g_object_thaw_notify () at /lib64/libgobject-2.0.so.0 0x00007fffd8ad5afe in gtk_action_muxer_action_removed (muxer=0x9930410, action_name=0xb60bfd0 "win.window-154879424-572") at ../gtk/gtkactionmuxer.c:558 0x00007fffd8ad5afe in gtk_action_muxer_action_removed (muxer=0x9930010, action_name=0xb60bfd0 "win.window-154879424-572") at ../gtk/gtkactionmuxer.c:558 0x00007fffd8ad5afe in gtk_action_muxer_action_removed (muxer=0x9926290, action_name=0xb60bfd0 "win.window-154879424-572") at ../gtk/gtkactionmuxer.c:558 0x00007fffd8ad5afe in gtk_action_muxer_action_removed (muxer=0x993fc10, action_name=0xb60bfd0 "win.window-154879424-572") at ../gtk/gtkactionmuxer.c:558 0x00007fffd8ad5afe in gtk_action_muxer_action_removed (muxer=0x983e530, action_name=0xb60bfd0 "win.window-154879424-572") at ../gtk/gtkactionmuxer.c:558 0x00007fffd8ad5afe in gtk_action_muxer_action_removed (muxer=0x9835bc0, action_name=0xb60bfd0 "win.window-154879424-572") at ../gtk/gtkactionmuxer.c:558 0x00007fffd8ad5afe in gtk_action_muxer_action_removed (muxer=0x982cf40, action_name=0xb60bfd0 "win.window-154879424-572") at ../gtk/gtkactionmuxer.c:558 0x00007fffd8ad5afe in gtk_action_muxer_action_removed (muxer=muxer@entry=0x9314440, action_name=action_name@entry=0xb60bfd0 "win.window-154879424-572") at ../gtk/gtkactionmuxer.c:558 0x00007fffd8ad5b43 in gtk_action_muxer_action_removed_from_group (action_group=<optimized out>, action_name=0xb431760 "window-154879424-572", user_data=<optimized out>) at ../gtk/gtkactionmuxer.c:572 0x00007ffff25b4db0 in g_closure_invoke () at /lib64/libgobject-2.0.so.0 0x00007ffff25e14d6 in signal_emit_unlocked_R.isra.0 () at /lib64/libgobject-2.0.so.0 0x00007ffff25d1a2e in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0 0x00007ffff25d1cb3 in g_signal_emit () at /lib64/libgobject-2.0.so.0 0x00007fffd92e3630 in g_lo_action_group_remove(GLOActionGroup*, gchar const*) (group=0x419b940, action_name=0xb60bd40 "window-154879424-572") at vcl/unx/gtk4/../gtk3/gloactiongroup.cxx:384 0x00007fffd92ce4a9 in GtkSalMenu::NativeSetItemCommand(unsigned int, unsigned int, unsigned short, char const*, MenuItemBits, bool, bool) (this=0x93b45c0, nSection=0, nItemPos=0, nId=572, aCommand=0xb60bd40 "window-154879424-572", nBits=MenuItemBits::CHECKABLE, bChecked=true, bIsSubmenu=false) at vcl/unx/gtk4/../gtk3/gtksalmenu.cxx:1330 0x00007fffd92cce3c in GtkSalMenu::ImplUpdate(bool, bool) (this=0x93b45c0, bRecurse=false, bRemoveDisabledEntries=false) at vcl/unx/gtk4/../gtk3/gtksalmenu.cxx:308 0x00007fffd92cf4e0 in GtkSalMenu::Update() (this=0x93b45c0) at vcl/unx/gtk4/../gtk3/gtksalmenu.cxx:400 0x00007fffedf7d438 in Menu::UpdateNativeMenu() (this=0x93b4480) at vcl/source/window/menu.cxx:2180 0x00007fffd92d3975 in GtkSalMenu::Activate(char const*) (pCommand=0xb5fb0f4 "window-154872880-571") at vcl/unx/gtk4/../gtk3/gtksalmenu.cxx:1489
-
- 09 May, 2022 1 commit
-
-
(cherry picked from commit f60e5950)
-
- 08 May, 2022 5 commits
-
-
Matthias Clasen authored
dropdown: Add GtkBuildable doc See merge request GNOME/gtk!4708
-
Sonny Piers authored
-
(cherry picked from commit 5ae37c6d)
-
Matthias Clasen authored
printdialog: Handle nonexisting files better See merge request GNOME/gtk!4702
-
Matthias Clasen authored
When a non-existing file is selected in the file chooser for print-to-file, we weren't updating the button label to show the new filename. Fix that. Also, use newer file chooser api.
-
- 07 May, 2022 15 commits
-
-
Matthias Clasen authored
-
Matthias Clasen authored
-
Matthias Clasen authored
Install gtk4-node-editor See merge request !4701
-
Piotr Drąg authored
-
Matthias Clasen authored
It is an application worth having around.
-
Matthias Clasen authored
-
Matthias Clasen authored
Add a desktop file and appdata.
-
Matthias Clasen authored
listitemwidget: Avoid some unnecessary work See merge request GNOME/gtk!4700
-
Matthias Clasen authored
wip: Redo doc image generation See merge request GNOME/gtk!4646
-
Matthias Clasen authored
Produced by running the screenshot command over the ui files in the same directory.
-
Matthias Clasen authored
This commit adds a new meson option -Dupdate_screenshots=true. When it is enabled, and -Dgtk_doc=true is also used, then the build will generate images to include in the API docs from ui files in docs/reference/gtk/images. Note: we still keep a copy of the images in git, in order to allow building without a display connection. To update the images in git, the generated images need to be copied back from the builddir to the srcdir.
-
Matthias Clasen authored
This is no longer used.
-
Matthias Clasen authored
We can use the same helper function in all places where we notify all three listitem properties.
-
Matthias Clasen authored
Only update widget and accessible state if the selected property actually changed.
-
Matthias Clasen authored
builder-tool: Screenshot popovers properly See merge request GNOME/gtk!4699
-
- 06 May, 2022 18 commits
-
-
Matthias Clasen authored
Do the necessary shenanigans to get popovers to show up in screenshots.
-
Matthias Clasen authored
gdk: Check OES_vertex_half_float GLES extension See merge request GNOME/gtk!4689
-
Benjamin Otte authored
list-item: Use notify_by_pspec instead of by name See merge request GNOME/gtk!4697
-
Matthias Clasen authored
Add buildable data support to GtkTreeStore See merge request GNOME/gtk!4695
-
Matthias Clasen authored
The GL renderer currently relies on half float support in vertex buffers, so check that we have it. Related: #4894
-
Ivan Molodetskikh authored
This is a hot path when scrolling a ColumnView, and g_param_spec_pool_lookup () was taking a measurable part in this hot path. Instead, notify using pspecs to avoid the name lookup. Related: #3334
-
Luca Bacci authored
GdkWin32: Rework scroll input handling See merge request GNOME/gtk!4633
-
Benjamin Otte authored
listitemfactory: Track notify manually instead of freeze/thaw See merge request GNOME/gtk!4696
-
Ivan Molodetskikh authored
freeze/thaw_notify () showed up on the perf trace for rapid ColumnView scrolling. Track the three properties manually to make it a little faster. Related: GNOME/gtk#3334
-
Matthias Clasen authored
builder-tool: Include shadows in screenshots See merge request GNOME/gtk!4692
-
Matthias Clasen authored
Verify that we can nest rows.
-
Matthias Clasen authored
This allows <row> elements to be nested. Note that the child rows must come after the data for the row itself.
-
Matthias Clasen authored
-
Matthias Clasen authored
This adds tests for data, but not nesting yet.
-
Matthias Clasen authored
This add support for data, but does not allow nesting yet.
-
Matthias Clasen authored
Some renaming in the buildable code to make it more similar to the liststore implementation.
-
Benjamin Otte authored
Don't invalidate parent if it didn't change See merge request GNOME/gtk!4693
-
Luca Bacci authored
Bring back smooth scroll events as the issues mentioned in [1] do not occur anymore. Also rework code style and comments. References: [1] GTK4: Scrolling hides mouse on windows GNOME/gtk#3581 [2] Why are mouse wheel messages delivered to the focus window instead of the window under the mouse? https://devblogs.microsoft.com/oldnewthing/20160420-00/?p=93325
-