summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2020-04-09 11:41:00 +0100
committerCaolán McNamara <caolanm@redhat.com>2020-04-16 20:28:24 +0200
commitbc0e0f633b05c4f91b6695488fc9e5c127507ba5 (patch)
treecca168c8aced9207ffa877693b856440764de341 /solenv
parentde1dadd591862e38242cc2de7a4a658a9a8b67ac (diff)
tdf#131120 use a replacement for GtkComboBox
the problems with GtkComboBox we have are: 1) https://gitlab.gnome.org/GNOME/gtk/issues/1910 has_entry long menus take forever to appear (tdf#125388) on measuring each row, the GtkComboBox GtkTreeMenu will call its area_apply_attributes_cb function on the row, but that calls gtk_tree_menu_get_path_item which then loops through each child of the menu looking for the widget of the row, so performance drops to useless. All area_apply_attributes_cb does it set menu item sensitivity, so block it from running with fragile hackery which assumes that the unwanted callback is the only one with a 2) https://gitlab.gnome.org/GNOME/gtk/issues/94 when a super tall combobox menu is activated, and the selected entry is sufficiently far down the list, then the menu doesn't appear under wayland 3) https://gitlab.gnome.org/GNOME/gtk/issues/310 no typeahead support 4) we want to be able to control the width of the button, but have a drop down menu which is not limited to the width of the button 5) https://bugs.documentfoundation.org/show_bug.cgi?id=131120 super tall menu doesn't appear under X sometimes In general we often pack a lot into the comboboxes and the default ones don't like that. Overlay scrolling is turned off for the GtkTreeView replacement because otherwise there are null-derefs in gtk on indicator->scrollbar on repeated reopenings Change-Id: I1b6164020996377341b5992d593a027b76021f65 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91990 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'solenv')
-rw-r--r--solenv/sanitizers/ui/vcl.suppr2
1 files changed, 2 insertions, 0 deletions
diff --git a/solenv/sanitizers/ui/vcl.suppr b/solenv/sanitizers/ui/vcl.suppr
index e5ad013909f9..b26735592919 100644
--- a/solenv/sanitizers/ui/vcl.suppr
+++ b/solenv/sanitizers/ui/vcl.suppr
@@ -3,6 +3,8 @@ vcl/uiconfig/ui/aboutbox.ui://GtkLabel[@id='logoreplacement'] orphan-label
vcl/uiconfig/ui/aboutbox.ui://GtkTextView[@id='version'] no-labelled-by
vcl/uiconfig/ui/aboutbox.ui://GtkLabel[@id='description'] orphan-label
vcl/uiconfig/ui/aboutbox.ui://GtkLabel[@id='copyright'] orphan-label
+vcl/uiconfig/ui/combobox.ui://GtkEntry[@id='entry'] no-labelled-by
+vcl/uiconfig/ui/combobox.ui://GtkToggleButton[@id='button'] button-no-label
vcl/uiconfig/ui/cupspassworddialog.ui://GtkLabel[@id='text'] orphan-label
vcl/uiconfig/ui/printdialog.ui://GtkEntry[@id='pageedit-nospin'] no-labelled-by
vcl/uiconfig/ui/printdialog.ui://GtkLabel[@id='totalnumpages'] orphan-label