summaryrefslogtreecommitdiff
path: root/vcl/unx/gtk3
AgeCommit message (Collapse)Author
2023-02-10gtk4: occasional crash at exitCaolán McNamara
Change-Id: I2008d44f5dae0f22e9213f46a740146d6eb85666 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146727 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-02-09tdf#153501 Fix OString construction from nullptrStephan Bergmann
(see recent 6028e9fda96d0ed5da266b1c54a7755f7ba3408c "Finally drop undocumented rtl_[u]String_newFromStr null argument support") Change-Id: Ib47d2d674487baf0414b4a02b27b2359f809df97 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146719 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-02-08tdf#153229 add a switch to override honoring system dark modeCaolán McNamara
Change-Id: Iafb6182e05dc65d20d0809476ee58908f7426d39 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146597 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-02-07improve readability of VirtualDevice constructorNoel Grandin
(a) It is not obvious what DeviceFormat::DEFAULT means (b) There are two parameters (each with two states), but only really 2 possible overall states So (1) use more useful names (2) combine the two parameters into one enum Change-Id: Ic0595b39e032cc9e019b88326389d055b977da00 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146589 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-27Remove support for AIXStephan Bergmann
As discussed in the mailing list thread starting at <https://lists.freedesktop.org/archives/libreoffice/2023-January/089808.html> "Plan to remove dead C++ UNO bridge implementations (bridges/source/cpp_uno/*)", the bridge implementation at bridges/source/cpp_uno/gcc3_aix_powerpc is apparently dead and should thus be removed. However, that was the only bridge implementation for AIX, which implies that support for the AIX platform as a whole is dead and should thus be removed. Change-Id: I96de3f7f97d4fd770ff78256f0ea435383688be9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146057 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-01-24tdf#152404 crash with ibus-mozc with ctrl+alt+c during ExtTextInputCaolán McNamara
Change-Id: I86e19387d93a57c3ad263f0c2dc9222a5f3480be Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146065 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-01-20Fix typoAndrea Gelmini
Change-Id: I97309a5cf314b08547ac535a2d1baa6e8b7d064c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145910 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-01-20tdf#149412 gtk3: show all selected rows in dnd iconCaolán McNamara
otherwise it looks like only one row is getting moved Change-Id: Ie0b63a9c3cea377c3753785d9c6f7958cbc7ac1b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145818 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-01-19Resolves: tdf#153091 support text/plain without encoding from neditCaolán McNamara
Change-Id: I56dfc6dfec21b8c57b6f402c53b0229a2a2e7778 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145824 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-01-19save last mouse press location even if no handlers setCaolán McNamara
Change-Id: I24ce412fd3b62843ee3fabc7a3fca36ae91c0222 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145784 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-01-19use cairo_surface_destroy after gtk_drag_set_icon_surfaceCaolán McNamara
Change-Id: Iac543121a809eeabae630d4a426e72d5f9d47057 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145783 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-01-18only need ooo_fixed for gtk3Caolán McNamara
Change-Id: I2ddc54d013dbeeb75fd07bd5c4ec413306472167 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145680 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-01-17gtk4: some basis for experimenting on a11y supportCaolán McNamara
4.10 makes GtkAccessible public Change-Id: Ib6ec27f9db9c9b87ff775fdc5a075b5b26a16b22 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145679 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-01-17tdf#153049 use ScrollType::DontKnow for a mouse wheel spinCaolán McNamara
use has_grab() to try and distinguish these Change-Id: I09e0f2219458e9ca0e6f0c0093aea5d5920acef9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145644 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-01-10Related: tdf#152950 assert if this arises anywhere elseCaolán McNamara
Change-Id: I29ff145c84fdd784c3b2fbd6e5860dcac42b597d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145262 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-01-05Revert all the recent loplugin:unocast changesStephan Bergmann
...as obsoleted by ef533553559fe09b4afab651fc692885d1acf4ed "Rudimentary support for dynamic_cast on UNO proxy objects". This reverts all of: 4cfcc9ac37b90ce64c8402a41eb4638adb185b5c "loplugin:unocast (framework::Desktop)" 03efbf72f4ddf7a84aa8aabef348331bd4b75e8a "loplugin:unocast (vclcanvas::TextLayout)" 80099fdd51a69eaa6c36ca88ef772810e4a777fa "loplugin:unocast (SalGtkXWindow)" cc147f576d8687fb79c77d47d41dc4ba1678a469 "loplugin:unocast (sdext::presenter::CachablePresenterView)" 40db42be1d8fd0f9c6c8c5ba3767ddb9ee2034c2 "loplugin:unocast (vclcanvas::CanvasFont)" 2d1e7995eae29e2826449eb5179f5fae181794a5 "loplugin:unocast (CairoColorSpace)" 4c0bbe4bd97636207cf71a6aa120c67698891da9 "loplugin:unocast (canvas::ParametricPolyPolygon)" 89803666621c07d1b1ac9d3bd883f0ca192a91a0 "loplugin:unocast (vclcanas::CanvasBitmap)" d5e0c2c8db71878d21c2a7255af08cf5f9a6dd04 "loplugin:unocast (sfx2::DigitalSignatures)" c0c4519e0d5b555f59bbc04cc616454edfd1f4ce "loplugin:unocast (VCLXAccessibleComponent)" feb8b833a6245d42400f42a0bc789dc84594ee6f "loplugin:unocast (VCLXDialog)" 1fa58cc6cc9c3849753342a5d9a6ddfa461b5e66 "loplugin:unocast (VCLXMultiPage)" f481f036deb1b1b46f3038074c4659f3a91b9c6c "loplugin:unocast (DocumentSettingsSerializer)" 73df933f5fa5932f94e5a1b338a3eda00a9ce354 "loplugin:unocast (css::embed::EmbeddedUpdate)" 420165ab0ef03c0467f9d17f504de2d2fc78f0e6 "loplugin:unocast (canvas::tools' StandardColorSpace, StandardNoAlphaColorSpace)" 9abe8ee067e6c00f19d8a13346d53c4641c27166 "loplugin:unocast (MutableTreeNode)" 9f3022ceb036f23b4b0994c3e2fbd1001bff225a "loplugin:unocast (VCLXTabPage)" 1be70dda02c12a60778b7607cff2520ae1aa611e "loplugin:unocast (vcl::unotools::VclCanvasBitmap)" d6a70bb641b96e8e5616448c2378131ed62658b4 "loplugin:unocast (basegfx::unotools::UnoPolyPolygon)" 5a14f009e6782c077463c8cbb8e9cea3d7950107 "loplugin:unocast (xmlsecurity::Certificate)" 99009c9535dfa3e0d838989ccc7d84bfa2320ff4 "loplugin:unocast (sd::Annotation)" 0c7585c5fa78887e5459885ed744e8044fd76137 "loplugin:unocast (sd::TextApiObject)" 24e14afd1bfcaed6c200ab081973fba7e47267ca "loplugin:unocast (SignatureVerifierImpl)" 1a7ad0c10d286ce9ae2700ceb2fd50eed1fb43a4 "loplugin:unocast (pcr::PropertyEventTranslation)" a97e2d2702d9a6f37775ccee2c08c4f3b2479c4b "loplugin:unocast (RangePageBreaks)" 19dfdf86ad1f5b08041d8b7a9f196caf881231ab "iloplugin:unocast (pcr::OFormattedNumericControl)" f9785ea595fd8e911f6370e836fa579225b9e571 "loplugin:unocast (frm::OInterfaceContainer)" 5e5f40a4a92a31b0932c690219d002fcf18598cf "loplugin:unocast (ScVbaShapes)" 27b35b2c215b4832d4378ec3a7ecbba926552d06 "loplugin:unocast (ScVbaShapeRange)" cb3108f860065928552a86cf8acc4b3a95718ecf "cid#1517812 Dereference null return value" feba0ddb1521d1142560fe54b7d7696ee910237f "loplugin:unocast (weld::TransportAsXWindow)" 4d6c23216559eb48f9943bb49d6e475a6d64ba15 "loplugin:unocast (oox::ForumlaImExportBase)" 4844c096a8ab6a9a620c410a0949d4499f12a504 "loplugin:unocast (cairocanvas::SurfaceProvider)" 9a0b523e0a84d403b9092176ccec4b3e3efe42d0 "loplugin:unocast (cairocanvas::CanvasBitmap)" 8a5648d8e59b4b007dbbf3824777c19a21efc61e "loplugin:unocast (cairocanvas::TextLayout)" 28c27a0623bc78a0590858f97d03b620985bc84c "loplugin:unocast (cairocanvas::CanvasFont)" 53bc223cb3288e32a417696ee61c29e5f01f209d "loplugin:unocast (cairocanvas::RepaintTarget)" 5f70b0b9f6bc4ab145ddbd9155590ed4a3b1b9ec "loplugin:unocast (SvXMLImport)" 068187a898cdd2e26e9b16c348ecc1ed2dee3f29 "loplugin:unocast (VCLXWindow)" 88b4f966202717cd4ad38a30a8eda22c3e69ed35 "loplugin:unocast (sfx2::sidebar::SidebarController)" f1b7a69b280aefe2f1b3b0f32193494fd765f2bd "loplugin:unocast (SvxLineStyleToolBoxControl)" ba76f0ba7e8de4d2953739c952004b7d9af47197 "loplugin:unocast (i18npool::Calendar_gregorian)" 840154daf934d8df52ead1cb7acd798c4d30f007 "loplugin:unocast (framework::AddonsToolBarWrapper)" b0e9c4c5f063cefa9557810e3349bdb9c7493091 "loplugin:unocast (GrammarCheckingIterator)" 8ee6cfc9655ce9de4617cea1a0d9cb9d7a4fbfac "loplugin:unocast (ucb::ucp::ext::Content)" 5b8cd77c112bc8c0e92b8fec215c3c8e802bbc0a "loplugin:unocast (basic::SfxScriptLibraryContainer)" 9e73ff9fce12e102bb3c3cea8d8bb96c88f2c9ad "loplugin:unocast (sdext::presenter::PresenterNotesView)" a98acca8fbc38d3fd5600ae5056a8e42b6d8a40d "loplugin:unocast (SelectionChangeHandler)" c0b59ad6e35b0cb0dea0821e95f95569739078c1 "Consistently use comphelper::getSomethingImpl<I>(aIdentifier, this)" 276e3ccbdd3259ec3daf8a1a98fa7f406b14e21c "loplugin:unocast (vclcanvas::RepaintTarget)" Change-Id: I37c73e3422a5154bf6cb647640d2d3f23db8bc34 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145063 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-01-03tdf#148109 Paint background color in listboxIlhan Yesil
The combobox described in 148109 is indeed a listbox. If drop down list is not open and only the selected item is shown without having the focus, the background color will be paint either it's defined as native control or not. Change-Id: I210916fbe07f74aaa5835bf2c88e764b010c6d61 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131904 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2022-12-23loplugin:unocast (SalGtkXWindow)Stephan Bergmann
(See the upcoming commit introducing that loplugin:unocast on why such dynamic_casts from UNO types are dangerous.) Change-Id: I139c4006c385019d7332b1594ff24e2ab314e5ed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144766 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-12-15Fix another use of gtk_gesture_zoom_new for GTK 4Stephan Bergmann
...introduced with 7d5841b435a6794e30f02b62db15660ffe4ee39e "vcl: Implement touchpad zoom gesture support in GtkInstanceDrawingArea", and fixing it along the lines of 903b8f8524b8c84eced3ccbf7cfec9c5b9015f4b "gtk: Fix gtk4 build after f2bd19f672023 and e6bed4293814d" and b37e6d2cbd2cfbd5c6eeba81415182c1c766de8f "gtk4: connect the zoom and rotate gestures for gtk4" Change-Id: I7a4521766e537d33ee3bf1787c317095a2e54af8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144208 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-12-14vcl: Implement touchpad zoom gesture support in GtkInstanceDrawingAreaPovilas Kanapickas
Change-Id: I5ad68ee424fbcc45a3e56045f00ac41cf6c80195 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143758 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-12-14Resolves: tdf#152501 forward replacement ComboBox query-tooltip to originalCaolán McNamara
Change-Id: I7c56ce58a00d87ce1699bffdf36c9842ac579161 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144158 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-12-13Related: tdf#150007 add destructive-action to file overwrite message dialogCaolán McNamara
Change-Id: Ic522555a2d9d100a13f1d1dc35cfd6a57675447e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144038 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-12-06tdf#152029 Visually draw attention to in-view bookmarkJim Raykowski
when mouse pointer is over bookmark entry in the Navigator content tree This patch brings attention to in-view bookmarks when the mouse pointer is positioned over bookmark content entries in the Navigator content tree. All in-view bookmarks are brought to attention by placing the mouse pointer over the bookmark content type (category) entry. The patch adds a parameter to the weld::get_dest_row_at_pos function to give the option not to auto scroll. It is needed to prevent auto scrolling when used in the the mouse move handler. Additional use can be made in the content tree CommandHdl to make the tree not jump when the context popup menu is activated for entries near the top and bottom of the the visible tree. Change-Id: I04e306286ca58ab6c8ae7e5c02b25a0592c4a9d3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143628 Tested-by: Jenkins Reviewed-by: Jim Raykowski <raykowj@gmail.com>
2022-12-06add Assistant::set_page_side_imageCaolán McNamara
Change-Id: I70685a74ebed465771473ce885f4f29af209cda6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143737 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-30Typo: appropiate->appropriateJulien Nabet
Change-Id: Ia088878838b63442295a968c19e303b2a826591c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143504 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-11-22Resolves: tdf#152155 use gtk's knowledge of relative widget positionsCaolán McNamara
rather than effectively emulate it poorly Change-Id: If1c215892645d83937d97158a2d3f8ddac10364e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143104 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-22move workaround out of GtkInstanceExpander ctorCaolán McNamara
and into the builder so get the same result if there was an explicit expander instantiated or not Change-Id: Ia5af8de81d6fa0780cf507f565c6819e16cde43c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143093 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-21fix a comment typoCaolán McNamara
Change-Id: I6497222d5fcb29d51fb3ac70a57d09593b27fd26 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143043 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-16ImplDbgTestSolarMutex assert from a11yCaolán McNamara
#5 0x00007fffee606a72 in ImplDbgTestSolarMutex() () at vcl/source/app/dbggui.cxx:35 #6 0x00007ffff71186f0 in DbgTestSolarMutex() () at tools/source/debug/debug.cxx:54 #7 0x00007ffff3273e39 in SfxBroadcaster::RemoveListener(SfxListener&) (this=0x1a38230, rListener=...) at svl/source/notify/SfxBroadcaster.cxx:105 #8 0x00007ffff3296eb8 in SfxListener::~SfxListener() (this=0x33abce0) at svl/source/notify/lstner.cxx:53 #9 0x00007fffaaa0a0a4 in ScAccessibleContextBase::~ScAccessibleContextBase() (this=0x33abc40) at sc/source/ui/Accessibility/AccessibleContextBase.cxx:59 #10 0x00007fffaaaa6379 in ScAccessibleTableBase::~ScAccessibleTableBase() (this=0x33abc40) at sc/source/ui/Accessibility/AccessibleTableBase.cxx:52 #11 0x00007fffaaa831da in ScAccessibleSpreadsheet::~ScAccessibleSpreadsheet() (this=0x33abc40) at sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx:274 #12 0x00007fffaaa83229 in ScAccessibleSpreadsheet::~ScAccessibleSpreadsheet() (this=0x33abc40) at sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx:270 #13 0x00007ffff5f87fc0 in cppu::OWeakObject::release() (this=0x33abc40) at cppuhelper/source/weak.cxx:230 #14 0x00007ffff5f88690 in cppu::OWeakAggObject::release() (this=0x33abc40) at cppuhelper/source/weak.cxx:296 #15 0x00007ffff5e7e4d5 in cppu::WeakAggComponentImplHelperBase::release() (this=0x33abc40) at cppuhelper/source/implbase.cxx:211 #16 0x00007fffaaa0d875 in cppu::WeakAggComponentImplHelper5<com::sun::star::accessibility::XAccessible, com::sun::star::accessibility::XAccessibleComponent, com::sun::star::accessibility::XAccessibleContext, com::sun::star::accessibility::XAccessibleEventBroadcaster, com::sun::star::lang::XServiceInfo>::release() (this=0x33abc40) at include/cppuhelper/compbase5.hxx:142 #17 0x00007fffaaa0ab15 in ScAccessibleContextBase::release() (this=0x33abc40) at sc/source/ui/Accessibility/AccessibleContextBase.cxx:119 #18 0x00007fffaaaa6b75 in ScAccessibleTableBase::release() (this=0x33abc40) at sc/source/ui/Accessibility/AccessibleTableBase.cxx:86 #19 0x00007fffd8f4f11a in com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessible>::clear() (this=<error reading variable: Unhandled DWARF expression opcode 0x0>) at include/com/sun/star/uno/Reference.hxx:231 #20 0x00007fffd8f4c41d in atk_object_wrapper_finalize(_GObject*) (obj=0x7f71930) at vcl/unx/gtk3/a11y/atkwrapper.cxx:662 #21 0x00007ffff3538d32 in g_object_unref (_object=<optimized out>) at ../gobject/gobject.c:3678 #22 g_object_unref (_object=0x7f71930) at ../gobject/gobject.c:3553 #23 0x00007fffd9571fc5 in expiry_func () at /lib64/libatk-bridge-2.0.so.0 #24 0x00007fffea7197b1 in g_timeout_dispatch (source=0x313d360, callback=0x7fffd9571f60 <expiry_func>, user_data=0x7fffbc01bec0) at ../glib/gmain.c:4971 #25 0x00007fffea718faf in g_main_dispatch (context=0x5f8230) at ../glib/gmain.c:3417 Change-Id: If527f1cf1bfc59bb8df586afaf5da62bbcb08eea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142761 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-12ImplDbgTestSolarMutex assert from a11yCaolán McNamara
#5 0x00007fffee605ea2 in ImplDbgTestSolarMutex() () at vcl/source/app/dbggui.cxx:35 #6 0x00007ffff71186f0 in DbgTestSolarMutex() () at tools/source/debug/debug.cxx:54 #7 0x00007fffa95614d8 in SwAccessibleMap::GetContext(SwFrame const*, bool) (this=0x895a9c0, pFrame=0x5358800, bCreate=false) at sw/source/core/access/accmap.cxx:1788 #8 0x00007fffa961ac0e in sw::sidebarwindows::(anonymous namespace)::SidebarWinAccessibleContext::getAccessibleParent() (this=0xb90f800) at sw/source/uibase/docvw/SidebarWinAcc.cxx:65 #9 0x00007fffa961ae27 in non-virtual thunk to sw::sidebarwindows::(anonymous namespace)::SidebarWinAccessibleContext::getAccessibleParent() () at /home/caolan/LibreOffice/core/instdir/program/../program/libswlo.so #10 0x00007fffd8f4ae7d in atk_object_wrapper_new(com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessible> const&, AtkObject*, AtkObject*) (rxAccessible=uno::Reference to (sw::sidebarwindows::SidebarWinAccessible *) 0xba7f450, parent=0x0, orig=0x0) at vcl/unx/gtk3/a11y/atkwrapper.cxx:970 #11 0x00007fffd8f4a820 in atk_object_wrapper_ref(com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessible> const&, bool) (rxAccessible=uno::Reference to (sw::sidebarwindows::SidebarWinAccessible *) 0xba7f450, create=true) at vcl/unx/gtk3/a11y/atkwrapper.cxx:925 #12 0x00007fffd8f4d246 in wrapper_ref_child(_AtkObject*, int) (atk_obj=0xb9d06f0, i=0) at vcl/unx/gtk3/a11y/atkwrapper.cxx:500 #13 0x00007fffd95700c3 in add_pending_items () at /lib64/libatk-bridge-2.0.so.0 #14 0x00007fffea7154cb in g_idle_dispatch (source=0x21d40e0, callback=0x7fffd956fec0 <add_pending_items>, user_data=0x21d5890) at ../glib/gmain.c:5935 and... #5 0x00007fffee605ea2 in ImplDbgTestSolarMutex() () at vcl/source/app/dbggui.cxx:35 #6 0x00007ffff71186f0 in DbgTestSolarMutex() () at tools/source/debug/debug.cxx:54 #7 0x00007fffa95614d8 in SwAccessibleMap::GetContext(SwFrame const*, bool) (this=0x894ce20, pFrame=0x53390f0, bCreate=false) at sw/source/core/access/accmap.cxx:1788 #8 0x00007fffa956285f in SwAccessibleMap::GetContextImpl(SwFrame const*, bool) (this=0x894ce20, pFrame=0x53390f0, bCreate=false) at sw/source/core/access/accmap.cxx:1917 #9 0x00007fffa9550a91 in SwAccessibleChildSList_const_iterator::SwAccessibleChildSList_const_iterator(SwAccessibleChildSList const&, SwAccessibleMap&) (this=0x7fffffffbb58, rLst=..., rAccMap=...) at sw/source/core/access/accfrmobjslist.cxx:65 #10 0x00007fffa951c507 in SwAccessibleChildSList::begin() const (this=0x7fffffffbb80) at sw/source/core/access/accfrmobjslist.hxx:100 #11 0x00007fffa95421c2 in SwAccessibleFrame::GetChildIndex(SwAccessibleMap&, SwRect const&, SwFrame const&, sw::access::SwAccessibleChild const&, int&, bool) (rAccMap=..., rVisArea=SwRect = {...}, rFrame=..., rChild=..., rPos=@0x7fffffffbcc4: 0, bInPagePreview=false) at sw/source/core/access/accframe.cxx:179 #12 0x00007fffa9543be5 in SwAccessibleFrame::GetChildIndex(SwAccessibleMap&, sw::access::SwAccessibleChild const&) const (this=0xb7bd6e0, rAccMap=..., rChild=...) at sw/source/core/access/accframe.cxx:455 #13 0x00007fffa9569721 in SwAccessibleMap::GetChildIndex(SwFrame const&, vcl::Window&) const (this=0x894ce20, rParentFrame=..., rChild=...) at sw/source/core/access/accmap.cxx:2905 #14 0x00007fffa961ad89 in sw::sidebarwindows::(anonymous namespace)::SidebarWinAccessibleContext::getAccessibleIndexInParent() (this=0xb9ead70) at sw/source/uibase/docvw/SidebarWinAcc.cxx:80 #15 0x00007fffd8f4d781 in wrapper_get_index_in_parent(_AtkObject*) (atk_obj=0xc517810) at vcl/unx/gtk3/a11y/atkwrapper.cxx:529 #16 0x00007fffd957298c in append_cache_item () at /lib64/libatk-bridge-2.0.so.0 Change-Id: I852f40f30be7c10223ccfd570cb8ca30f1a67f47 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142599 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-10Related: tdf#151898 use more of the code path that can use scaled svgsCaolán McNamara
for hidpi Change-Id: I1dfb072e294fd30ce027eb3c69781f1450709dc8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142540 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-10Fix typoAndrea Gelmini
Change-Id: I368c1cf881da5fbccdf90ffdfba9714b8ecd776b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142539 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2022-11-10tdf#151898 if svgs are used in hidpi get a high quality GtkImageCaolán McNamara
this gets nice sidebar icons in this case as far as I can see only gtk_image_new_from_file (or gtk_image_new_from_resource) can support the use of a scaleable input format to create a hidpi GtkImage, rather than an upscaled lodpi one so forced to go via a file here Change-Id: I665cd5be2c87f6fe8e264640be228263cdfc1fba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142504 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-07Fix typoAndrea Gelmini
Change-Id: I60b186f26db8f36ea815161e6b450c16377e537b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142380 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-11-07Revert recalcuting m_nTextCol when setting a cell editableCaolán McNamara
Revert: "vcl: allow editing a column other than the first one in GtkInstanceTreeView" This reverts commit be11a3573a21e83dfb6a473d98bc8ba9bf57057c. both basctl watchwindow and writer insert bookmark work as expected without this. .git/COMMIT_EDITMSG.save Revert "vcl: allow editing a column other than the first one in GtkInstanceTreeView" This reverts commit be11a3573a21e83dfb6a473d98bc8ba9bf57057c. Change-Id: I3384164ef5634b6695cc7edad7c03a3242195003 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142366 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-04Resolves: tdf#151509 don't overwrite geometry for system childsCaolán McNamara
Change-Id: I5ad73d0bd138b2ba1b99d63bca97773f43e39606 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142274 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-04Related: tdf#151509 factor out common block as UpdateGeometryFromEventCaolán McNamara
Change-Id: Iec2d4d1dcc2c38e264079024e25a8a3b8ea351c9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142273 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-04Related: tdf#151509 trust the crossing position provided by gtkCaolán McNamara
don't attempt to recalculate it from root window position with an offset of our belief as to our position Change-Id: Ia08cfd2aa5de73139ec7444b4576fe0c00240009 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142271 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-04Related: tdf#151509 make what the x/y values are more clearCaolán McNamara
we're re-deriving in a more complicated way values we already have available. no change of logic intended. Change-Id: I14232558312e5457dce7a949cdafe0518214894d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142270 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-03Related: tdf#149932 honour PANGO_UNDERLINE_DOUBLE for preedit underlineCaolán McNamara
we already have support for double underline so that's an easy add Change-Id: I1bba5620038e396765bd79050ff6a520096f9476 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142223 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-03Related: tdf#149932 honour PANGO_UNDERLINE_NONE for preedit underlineCaolán McNamara
at least don't show an underline for PANGO_UNDERLINE_NONE Change-Id: I190f44e1dfb7da1c663ce588973278d0da591c46 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142222 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-10-25Address a constexpr template point of instantiation issueStephan Bergmann
...that hits at least when building with Clang and --with-latest-c++ against recent libc++ or MSVC standard library (where C++20 and esp. C++23 made more and more class template member functions constexpr). My understanding is that there is some leeway at what point a compiler should instantiate such function specializations, and Clang decides to instantiate constexpr ones early (cf. <https://github.com/llvm/llvm-project/commit/242ad89a15d5466d166d47978bfff983d40ab511> "C++11 half of r147023: In C++11, additionally eagerly instantiate:" and its "Do not defer instantiations of constexpr functions" comment, and the discussion at <https://discourse.llvm.org/t/point-of-instantiation-of-constexpr-function-template/65129>). > In file included from vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx:43: > In file included from vcl/inc/unx/gtk/gtkdata.hxx:34: > In file included from vcl/inc/unx/gendata.hxx:15: > In file included from vcl/inc/svdata.hxx:26: > In file included from include/o3tl/hash_combine.hxx:13: > In file included from ~/llvm/inst/bin/../include/c++/v1/functional:515: > In file included from ~/llvm/inst/bin/../include/c++/v1/__functional/boyer_moore_searcher.h:26: > ~/llvm/inst/bin/../include/c++/v1/vector:538:52: error: arithmetic on a pointer to an incomplete type 'FilterEntry' > {return static_cast<size_type>(__end_cap() - this->__begin_);} > ~~~~~~~~~~~ ^ > ~/llvm/inst/bin/../include/c++/v1/vector:761:56: note: in instantiation of member function 'std::vector<FilterEntry>::capacity' requested here > __annotate_contiguous_container(data(), data() + capacity(), > ^ > ~/llvm/inst/bin/../include/c++/v1/vector:428:7: note: in instantiation of member function 'std::vector<FilterEntry>::__annotate_delete' requested here > __annotate_delete(); > ^ > ~/llvm/inst/bin/../include/c++/v1/__memory/unique_ptr.h:49:5: note: in instantiation of member function 'std::vector<FilterEntry>::~vector' requested here > delete __ptr; > ^ > ~/llvm/inst/bin/../include/c++/v1/__memory/unique_ptr.h:281:7: note: in instantiation of member function 'std::default_delete<std::vector<FilterEntry>>::operator()' requested here > __ptr_.second()(__tmp); > ^ > ~/llvm/inst/bin/../include/c++/v1/__memory/unique_ptr.h:247:75: note: in instantiation of member function 'std::unique_ptr<std::vector<FilterEntry>>::reset' requested here > _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX23 ~unique_ptr() { reset(); } > ^ > vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx:86:19: note: in instantiation of member function 'std::unique_ptr<std::vector<FilterEntry>>::~unique_ptr' requested here > SalGtkFilePicker::SalGtkFilePicker( const uno::Reference< uno::XComponentContext >& xContext ) : > ^ > vcl/unx/gtk3/fpicker/SalGtkFilePicker.hxx:38:8: note: forward declaration of 'FilterEntry' > struct FilterEntry; > ^ > In file included from vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx:43: > In file included from vcl/inc/unx/gtk/gtkdata.hxx:34: > In file included from vcl/inc/unx/gendata.hxx:15: > In file included from vcl/inc/svdata.hxx:26: > In file included from include/o3tl/hash_combine.hxx:13: > In file included from ~/llvm/inst/bin/../include/c++/v1/functional:515: > In file included from ~/llvm/inst/bin/../include/c++/v1/__functional/boyer_moore_searcher.h:26: > ~/llvm/inst/bin/../include/c++/v1/vector:761:54: error: arithmetic on a pointer to an incomplete type 'const value_type' (aka 'const FilterEntry') > __annotate_contiguous_container(data(), data() + capacity(), > ~~~~~~ ^ > ~/llvm/inst/bin/../include/c++/v1/vector:428:7: note: in instantiation of member function 'std::vector<FilterEntry>::__annotate_delete' requested here > __annotate_delete(); > ^ > ~/llvm/inst/bin/../include/c++/v1/__memory/unique_ptr.h:49:5: note: in instantiation of member function 'std::vector<FilterEntry>::~vector' requested here > delete __ptr; > ^ > ~/llvm/inst/bin/../include/c++/v1/__memory/unique_ptr.h:281:7: note: in instantiation of member function 'std::default_delete<std::vector<FilterEntry>>::operator()' requested here > __ptr_.second()(__tmp); > ^ > ~/llvm/inst/bin/../include/c++/v1/__memory/unique_ptr.h:247:75: note: in instantiation of member function 'std::unique_ptr<std::vector<FilterEntry>>::reset' requested here > _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX23 ~unique_ptr() { reset(); } > ^ > vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx:86:19: note: in instantiation of member function 'std::unique_ptr<std::vector<FilterEntry>>::~unique_ptr' requested here > SalGtkFilePicker::SalGtkFilePicker( const uno::Reference< uno::XComponentContext >& xContext ) : > ^ > vcl/unx/gtk3/fpicker/SalGtkFilePicker.hxx:38:8: note: forward declaration of 'FilterEntry' > struct FilterEntry; > ^ > In file included from vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx:43: > In file included from vcl/inc/unx/gtk/gtkdata.hxx:34: > In file included from vcl/inc/unx/gendata.hxx:15: > In file included from vcl/inc/svdata.hxx:26: > In file included from include/o3tl/hash_combine.hxx:13: > In file included from ~/llvm/inst/bin/../include/c++/v1/functional:515: > In file included from ~/llvm/inst/bin/../include/c++/v1/__functional/boyer_moore_searcher.h:26: > ~/llvm/inst/bin/../include/c++/v1/vector:834:62: error: arithmetic on a pointer to an incomplete type 'FilterEntry' > __alloc_traits::destroy(__alloc(), std::__to_address(--__soon_to_be_end)); > ^ ~~~~~~~~~~~~~~~~ > ~/llvm/inst/bin/../include/c++/v1/vector:828:29: note: in instantiation of member function 'std::vector<FilterEntry>::__base_destruct_at_end' requested here > void __clear() _NOEXCEPT {__base_destruct_at_end(this->__begin_);} > ^ > ~/llvm/inst/bin/../include/c++/v1/vector:433:9: note: in instantiation of member function 'std::vector<FilterEntry>::__clear' requested here > __clear(); > ^ > ~/llvm/inst/bin/../include/c++/v1/__memory/unique_ptr.h:49:5: note: in instantiation of member function 'std::vector<FilterEntry>::~vector' requested here > delete __ptr; > ^ > ~/llvm/inst/bin/../include/c++/v1/__memory/unique_ptr.h:281:7: note: in instantiation of member function 'std::default_delete<std::vector<FilterEntry>>::operator()' requested here > __ptr_.second()(__tmp); > ^ > ~/llvm/inst/bin/../include/c++/v1/__memory/unique_ptr.h:247:75: note: in instantiation of member function 'std::unique_ptr<std::vector<FilterEntry>>::reset' requested here > _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX23 ~unique_ptr() { reset(); } > ^ > vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx:86:19: note: in instantiation of member function 'std::unique_ptr<std::vector<FilterEntry>>::~unique_ptr' requested here > SalGtkFilePicker::SalGtkFilePicker( const uno::Reference< uno::XComponentContext >& xContext ) : > ^ > vcl/unx/gtk3/fpicker/SalGtkFilePicker.hxx:38:8: note: forward declaration of 'FilterEntry' > struct FilterEntry; > ^ > In file included from vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx:28: > In file included from workdir/UnoApiHeadersTarget/offapi/normal/com/sun/star/awt/SystemDependentXWindow.hpp:8: > In file included from include/com/sun/star/uno/Type.hxx:29: > In file included from ~/llvm/inst/bin/../include/c++/v1/ostream:169: > In file included from ~/llvm/inst/bin/../include/c++/v1/bitset:129: > In file included from ~/llvm/inst/bin/../include/c++/v1/string:548: > ~/llvm/inst/bin/../include/c++/v1/__memory/allocator.h:128:58: error: invalid application of 'sizeof' to an incomplete type 'FilterEntry' > _VSTD::__libcpp_deallocate((void*)__p, __n * sizeof(_Tp), _LIBCPP_ALIGNOF(_Tp)); > ^~~~~~~~~~~ > ~/llvm/inst/bin/../include/c++/v1/__memory/allocator_traits.h:282:13: note: in instantiation of member function 'std::allocator<FilterEntry>::deallocate' requested here > __a.deallocate(__p, __n); > ^ > ~/llvm/inst/bin/../include/c++/v1/vector:434:25: note: in instantiation of member function 'std::allocator_traits<std::allocator<FilterEntry>>::deallocate' requested here > __alloc_traits::deallocate(__alloc(), this->__begin_, capacity()); > ^ > ~/llvm/inst/bin/../include/c++/v1/__memory/unique_ptr.h:49:5: note: in instantiation of member function 'std::vector<FilterEntry>::~vector' requested here > delete __ptr; > ^ > ~/llvm/inst/bin/../include/c++/v1/__memory/unique_ptr.h:281:7: note: in instantiation of member function 'std::default_delete<std::vector<FilterEntry>>::operator()' requested here > __ptr_.second()(__tmp); > ^ > ~/llvm/inst/bin/../include/c++/v1/__memory/unique_ptr.h:247:75: note: in instantiation of member function 'std::unique_ptr<std::vector<FilterEntry>>::reset' requested here > _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX23 ~unique_ptr() { reset(); } > ^ > vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx:86:19: note: in instantiation of member function 'std::unique_ptr<std::vector<FilterEntry>>::~unique_ptr' requested here > SalGtkFilePicker::SalGtkFilePicker( const uno::Reference< uno::XComponentContext >& xContext ) : > ^ > vcl/unx/gtk3/fpicker/SalGtkFilePicker.hxx:38:8: note: forward declaration of 'FilterEntry' > struct FilterEntry; > ^ Change-Id: I6f76dc24b12214eda75d3a5bb91a0fe120e38880 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141822 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-10-25Address a constexpr template point of instantiation issueStephan Bergmann
...that hits at least when building with Clang and --with-latest-c++ against recent libc++ or MSVC standard library (where C++20 and esp. C++23 made more and more class template member functions constexpr). My understanding is that there is some leeway at what point a compiler should instantiate such function specializations, and Clang decides to instantiate constexpr ones early (cf. <https://github.com/llvm/llvm-project/commit/242ad89a15d5466d166d47978bfff983d40ab511> "C++11 half of r147023: In C++11, additionally eagerly instantiate:" and its "Do not defer instantiations of constexpr functions" comment, and the discussion at <https://discourse.llvm.org/t/point-of-instantiation-of-constexpr-function-template/65129>). > In file included from vcl/unx/gtk3/gtkinst.cxx:12: > In file included from ~/llvm/inst/bin/../include/c++/v1/deque:181: > ~/llvm/inst/bin/../include/c++/v1/__memory/unique_ptr.h:47:19: error: invalid application of 'sizeof' to an incomplete type '(anonymous namespace)::IMHandler' > static_assert(sizeof(_Tp) >= 0, "cannot delete an incomplete type"); > ^~~~~~~~~~~ > ~/llvm/inst/bin/../include/c++/v1/__memory/unique_ptr.h:281:7: note: in instantiation of member function 'std::default_delete<(anonymous namespace)::IMHandler>::operator()' requested here > __ptr_.second()(__tmp); > ^ > ~/llvm/inst/bin/../include/c++/v1/__memory/unique_ptr.h:247:75: note: in instantiation of member function 'std::unique_ptr<(anonymous namespace)::IMHandler>::reset' requested here > _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX23 ~unique_ptr() { reset(); } > ^ > vcl/unx/gtk3/gtkinst.cxx:18108:5: note: in instantiation of member function 'std::unique_ptr<(anonymous namespace)::IMHandler>::~unique_ptr' requested here > GtkInstanceDrawingArea(GtkDrawingArea* pDrawingArea, GtkInstanceBuilder* pBuilder, a11yref xA11y, bool bTakeOwnership) > ^ > vcl/unx/gtk3/gtkinst.cxx:17947:7: note: forward declaration of '(anonymous namespace)::IMHandler' > class IMHandler; > ^ Change-Id: I555fc974762ba75f28705a3c4673956db275009f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141823 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-10-22Resolves: tdf#151699 show/hide the overlay along with the editCaolán McNamara
if its present Change-Id: I9f167117329b9fa33a79271c1f97fcb10ab9de32 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141665 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-10-11Deduplicate O(U)StringConcatenationMike Kaganski
And use an overloaded helper function with a better (?) unified name to show that the result is not an O(U)String. Change-Id: I8956338b05d02bf46a6185828130ea8ef145d46b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141203 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-10-08tdf#151387 Fix regression cause by tdf#149279Jim Raykowski
The gtk_tree_view_expand_to_path function not only expands all parent rows of path as necessary but also expands the children of the row of the path. This explains the difference seen between gtk3inst and salinst when a collapsed row is scrolled to. gtk3inst expands the collapsed row, salinst does not. The enhancement patch for tdf#149279 removed the gtk_tree_view_expand_to_path function from gtk_tree_view_scroll_to_row. This caused a regression in the styles tree. To fix the regression this patch reverts the removed gtk_tree_view_expand_to_path functions. To make the enhancement patch behave the same for gtk3 and sal, the scroll to row is collapsed after scrolling if that was it's state before. Change-Id: I3c3975a3f258c6c432eb866a1c712299e2faf5be Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141048 Tested-by: Jenkins Reviewed-by: Jim Raykowski <raykowj@gmail.com>
2022-10-06Fix typoAndrea Gelmini
Change-Id: I9bbb8b60a7056832a6526ec1f6bb9a81736381b5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141030 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-10-06gtk4: need a SolarMutexGuard hereCaolán McNamara
Change-Id: Ia63e1d9f0c53df37f76a4125639084753b5e010c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141020 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-10-06Related: tdf#150706 don't warn about already enabled LISTBOX_FILTER_LABELCaolán McNamara
Change-Id: I31173693145d4121735c93f2a72126e743bd0c2d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141010 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-10-06Related: tdf#150706 don't warn about missing LISTBOX_FILTER_LABELCaolán McNamara
which is not unexpected for gtk where we don't use that label Change-Id: Ieed1a6498cc9f40cbf6546f996f723ec9cd3aba9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141005 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>