summaryrefslogtreecommitdiff
path: root/vcl
AgeCommit message (Collapse)Author
2022-06-06Fix typoAndrea Gelmini
Change-Id: I313b07bb1a3c387abddcad85c997075bd584ae6f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135440 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-06-05assert if a model is used in duplicate widgetsCaolán McNamara
we never do this deliberately Change-Id: I6d6d8ea13fb5f09bcf631c0474e671d4605f4c69 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135427 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-06-05tdf#137471 Qt return frame pos + client area sizeJan-Marek Glogowski
My code comment about "drawable area" and Michaels bug comment 12 about the "frameGeometry()" usage were both half right. LO expects the window's frame position and the drawable client area size almost everywhere when "geometry" is involved. The frame's border is stored in the decorations members of SalFrameGeometry. Change-Id: Ic00ad1f1d74d7afadcaca0c01e1a41ea7f2833de Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135434 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-06-04WIN refactor geometry updatingJan-Marek Glogowski
Change-Id: I34e710c022e6362dc2381327eb896610c35bcbf0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135425 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-06-04this should call the base class enable_notify_eventsCaolán McNamara
Change-Id: Icc26f3adcb3273426e6892aafd16da23176e23de Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135373 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-06-04ofz#47759 TimeoutCaolán McNamara
Change-Id: I8d6b1adb83963c229d71b9f593d39d8cd3e281e3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135363 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-06-03Related: tdf#147844 still log the discrepancyAron Budea
Change-Id: Iaed261c5b85ce507fb30b572eb08f09c89dda3e4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135367 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-by: Aron Budea <aron.budea@collabora.com>
2022-06-03ofz#47781 Out of memoryCaolán McNamara
Change-Id: I6ebd284bb3fa2c220b6a09fa9875b97c79f4a239 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135364 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-06-03allow to dynamically show/hide notebook tabsCaolán McNamara
Change-Id: I19681d9bfcd91e205e684674d1ec8f0058c1eb91 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135350 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-06-03implement "show-tabs" for TabControlCaolán McNamara
defaults to the current status of "true" Change-Id: Id4fa50d359e29fa3a7db845edbcb86a3b1caa790 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135345 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-06-03elide some makeStringAndClear() classNoel Grandin
when we are passing the result to a string_view, it is pointless. Change-Id: Id5906bbd7315e80358d09a0d036e605c54ccbf93 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135328 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-06-02tdf#149418: vcl_filters_test: Add unittestXisco Fauli
Change-Id: I643175f077723b0a865270691f3b50cc817e572d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135295 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2022-06-02cid#1504591 Uninitialized scalar fieldCaolán McNamara
Change-Id: I647888f13fc18010efc5ff6023790e91fa11611a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135293 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-06-02tdf#149418 the expectation is on success the tiff stream pos is at EOFCaolán McNamara
which is what the old one did, so do that here as well, libtiff will leave the stream some other pos by default, presumably the directory. which explains the testTdf138818 mystery Change-Id: I574700f81a21ee164d9911e05e2023aa48d10370 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135279 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-06-01tdf#149417: vcl_filters_test: Add unittestXisco Fauli
Change-Id: I1c575027d53b93c5d08c7e4fdf6da9d34654bc4a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135249 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2022-06-01Introduce weld::IconView::insert_separatorMike Kaganski
Needed to eventual re-implementation of starmath's SmElementsControl using IconView. This required re-implementation of IconViewImpl, to layout entries by iteration, because now it's impossible to find an entry position just based on its index. This coincidentally fixed some visual glitches in non-gtk IconView implementation from commit 5813660e7bfe128ac076e592fe31de64a6863780 Author Szymon Kłos <eszkadev@gmail.com> Date Tue Feb 16 16:03:30 2016 +0100 icon view for RemoteFilesDialog where any selected element could become first in row when scrolling. SvTreeListBox::SetEntryHeight taking a SvTreeListEntry const* had to be renamed to CalcEntryHeight, to avoid both virtual and non-virtual overloads, additionally having different accessibility. A TODO is implement separators in GtkInstanceIconView. I couldn't find a GTK API for separators in IconView, so possibly a workaround would be needed with some non-selectable narrow elements. Change-Id: Ie8dc35d94049a1c48e4eb49697681ffbe93c17f4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135112 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-06-01Don't resize to parent windowMike Kaganski
The parent may contain other controls (e.g. Fontworks dialog's grid contains also a label above the icon view). The control already has the correct size; just use it. Fixes vertical scrollbar being partially hidden behind control's bottom in non-GTK Fontworks dialog. Change-Id: I424999777f24bbb28619d07a9de782057f0257a0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135003 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-06-01Implement weld::IconView::[gs]et_item_widthMike Kaganski
Change-Id: I211e3c21b4e0148c4ff6fc9931838e37ccd0cc41 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134897 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-06-01Implement weld::IconView::connect_query_tooltipMike Kaganski
Change-Id: I8a8540e240d6a7046f564404c7c3b6bff8c2f04d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134806 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-06-01Resolves: tdf#149417 allow one short read in tiff import as not a failureCaolán McNamara
Change-Id: I77bff41abd51cfd3050836fff04e9644b0828c09 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135239 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-06-01Avoid -Werror,-Wdeprecated-declarations when building Library_vclplug_qt6Stephan Bergmann
> vcl/qt6/../qt5/QtFontFace.cxx:132:19: error: 'QFontDatabase' is deprecated: Call the static functions instead [-Werror,-Wdeprecated-declarations] > QFontDatabase aFDB; > ^ > /usr/include/qt6/QtGui/qfontdatabase.h:113:5: note: 'QFontDatabase' has been explicitly marked deprecated here > QT_DEPRECATED_VERSION_X_6_0("Call the static functions instead") explicit QFontDatabase() = default; > ^ > /usr/include/qt6/QtCore/qglobal.h:382:44: note: expanded from macro 'QT_DEPRECATED_VERSION_X_6_0' > # define QT_DEPRECATED_VERSION_X_6_0(text) QT_DEPRECATED_X(text) > ^ > /usr/include/qt6/QtCore/qglobal.h:294:33: note: expanded from macro 'QT_DEPRECATED_X' > # define QT_DEPRECATED_X(text) Q_DECL_DEPRECATED_X(text) > ^ > /usr/include/qt6/QtCore/qcompilerdetection.h:1146:36: note: expanded from macro 'Q_DECL_DEPRECATED_X' > # define Q_DECL_DEPRECATED_X(x) [[deprecated(x)]] > ^ etc. Change-Id: Icc6a5f2f78af9b287b71bdd347f396928a100b25 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135225 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-06-01Qt just resize the backing store on size changeJan-Marek Glogowski
... and if there is no need to create a Cairo surface if it doesn't exists, there is no need for a fresh QImage either. Change-Id: If607e03d246f3c31d66953b1e07a7af55659e64b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135209 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-05-31WIN drop effectively empty ImplDrawMenuBarJan-Marek Glogowski
.. as VisibleMenuBar() just always returns false. Change-Id: Ie793d84d57970cbf08b81b6ec0350b9b5fd4192c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135210 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-05-31jsdialog: introduce popup managementSzymon Kłos
Popup windows are managed by vcl (some moving between parents happens on show/hide popup). We need to access correct popup window to correctly close popup in LOK. So remember popup instances. Change-Id: I9e1ba18ded5a1bf675f95bd7178043eebd9bbd5a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134576 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Mert Tumer <mert.tumer@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134675 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135197 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2022-05-31clang-cl wants VCL_DLLPUBLIC SalLayoutGlyphsCache::clear not to be inlineStephan Bergmann
...to avoid > [build DEP] LNK:CppunitTest/test_vcl_text.dll.d > complextext.o : error LNK2019: unresolved external symbol "public: unsigned __int64 __cdecl SalLayoutGlyphsCache::GlyphsCost::operator()(class SalLayoutGlyphs const &)const " (??RGlyphsCost@SalLayoutGlyphsCache@@QEBA_KAEBVSalLayoutGlyphs@@@Z) referenced in function "private: void __cdecl o3tl::lru_map<struct SalLayoutGlyphsCache::CachedGlyphsKey,class SalLayoutGlyphs,struct SalLayoutGlyphsCache::CachedGlyphsHash,struct std::equal_to<struct SalLayoutGlyphsCache::CachedGlyphsKey>,struct SalLayoutGlyphsCache::GlyphsCost>::removeSize(class SalLayoutGlyphs const &)" (?removeSize@?$lru_map@UCachedGlyphsKey@SalLayoutGlyphsCache@@VSalLayoutGlyphs@@UCachedGlyphsHash@2@U?$equal_to@UCachedGlyphsKey@SalLayoutGlyphsCache@@@std@@UGlyphsCost@2@@o3tl@@AEAAXAEBVSalLayoutGlyphs@@@Z) (Not sure why MSVC itself doesn't complain; maybe LLVM 15 trunk clang-cl accidentally diverges from the MSVC semantics here.) Change-Id: I910fc309f9e02ec0794e449b97ba111d33dcbb54 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135199 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-05-31tdf#117006 gtk: detect High ContrastCaolán McNamara
similar to https://bugzilla.mozilla.org/show_bug.cgi?id=1606038 .e.g. gnome a11y menu, pick "High Contrast" Change-Id: I60643b3a37b722230d5ed47082e4a6491d005ce4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135179 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-05-30ofz#47664 OOMCaolán McNamara
Change-Id: If0d1ea55a194961fdb05ed2023bcfdaa6f933bfa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135129 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-05-30tdf#147021 Use std::size() instead SAL_N_ELEMENTS macroRoman Kuznetsov
Change-Id: I86956ab4beaba6b2b0905123ccea76c8ffad57fa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135063 Tested-by: Jenkins Reviewed-by: Roman Kuznetsov <antilibreoffice@gmail.com>
2022-05-30Related: tdf#89131 draw up/down spins disabled if value is at max/minCaolán McNamara
if there is a max/min set. Change-Id: I2dc7ccccad9ec2aa7eb89d8b5fa137e077a846fd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135105 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-05-29crashtesting: failure on loading gnome635181-1.tiffCaolán McNamara
Change-Id: I5dd9552eb267ffb67aa0aae36b474eb28790b5c0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135091 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-05-29tdf#144601 Qt fix creating QImage with alpha maskJan-Marek Glogowski
Rechecking the QImage documentation, this actually can be easily done; no more bit twiddling, which I got wrong to begin with. LO's alpha mask is inverted to Qt's expectations, but we have invertPixels() and then apply it with setAlphaChannel(). And we can even set the fAlpha using setOpacity()! Change-Id: If2030d3f87d3a4698d1cd9af005d307c2ee63061 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135044 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> Tested-by: Jenkins
2022-05-28ofz#47673 skip oversized tiff imagesCaolán McNamara
Change-Id: I78727819b7c440855f89240f396dad845a295d61 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135041 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-05-28tdf#149329 Qt change cursor via QWidgetJan-Marek Glogowski
... instead of its QWindow No idea, why my initial implementation used the QWindow. Neither do I know, why it's now somehow broken. The code is called, but the cursor doesn't change. But it seems to work via QWidget, so just do that. IMHO less QWindow is preferable generally; let Qt handle more of the low-level stuff. Change-Id: Id23fba719c9a4d7e760991c51e6021c6f89be345 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135051 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> Tested-by: Jenkins
2022-05-28tdf#149255 qt: Implement deletion/"swallowing" for IM replacementMichael Weghorn
This implements deletion of the text specified by the `replacementStart()` and `replacementLength()` of the `QInputMethodEvent*` received in `QtWidget::inputMethodEvent`. Quoting from the `QInputMethodEvent` doc [1]: > When receiving an input method event, the text widget has to performs > the following steps: > > 1. If the widget has selected text, the selected text should > get removed. > 2. Remove the text starting at replacementStart() with length > replacementLength() and replace it by the commitString(). > [...] This implementation is sufficient for the scenario described in tdf#149255, but I didn't test any more complex scenarios, like one where text is selected. (My current knowledge of input methods is too limited to be able to do more extensive testing without first spending time to get deeper into the topic.) The gtk3 implementation in `GtkSalFrame::IMHandler::signalIMDeleteSurrounding` was very helpful to get an impression of what needs to be done. Since the documentation for `QInputMethodEvent::replacementLength()` talks about "number of characters", I suspect that conversion to UTF-16 code units is needed just the same way as it is for the gtk3 case and this therefore calls `SalFrame::CalcDeleteSurroundingSelection` the same way. However, this part is untested, since it is not relevant for the tested scenario (where each of the characters is represented in a single UTF-16 code unit). [1] https://doc.qt.io/qt-5/qinputmethodevent.html Change-Id: I2a34e58067e253c39dbd87905943134bdfa4ea27 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134855 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2022-05-28Move GtkSalFrame::CalcDeleteSurroundingSelection to SalFrameMichael Weghorn
It will be used for qt5/qt6 in a follow-up commit as well. Change-Id: Ic6a9351b0506519010b92e11d30962d5b105ec2b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135052 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2022-05-28tdf#132350 Qt implement SalMenu button interfaceJan-Marek Glogowski
This turned out much more complicated then expected: 1. The QMenuBar needs explicit adjustSize() calls to position a changed corner widget (or a resize...). 2. The adjustSize() results in a temporary, minimal QMenuBar layout, so GetMenuBarButtonRectPixel needs to account for the extra space itself, instead of just a mapTo call. 3. I didn't know, that you can't add shown widgets to a layout, but must call show() after add / insert, otherwise they are ignored in the layout (but show up as the layout items) and are painted in strange positions. This also includes the transparency flags for our QtWidget, so the updater "bubble window" is properly alpha-masked / shaped. And this maybe has too many asserts... Change-Id: I86a708175e9f9be786f5dc1810ae0197a0d3fc39 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135021 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-05-27Drop useless text width calculationMike Kaganski
It came from SvTreeListBox::GetHeightOffset dropped in commit 7da765dde1800aa607f96e7a5807582ad2894acb Author Noel Grandin <noel.grandin@collabora.co.uk> Date Thu Oct 27 10:21:42 2016 +0200 loplugin:expandablemethods in svtools Possibly the calculation was used for something else GetHeightOffset used before. Change-Id: I2a13035e0852637529c40a0ffe1bd0e2b8b3d077 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135010 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-05-27tdf#147844: Use sanity check only if LibreOfficeKit is activeXisco Fauli
Regression from 2b58a0979f9206cfca6d78cb2f3d5e65cd735f8b "Add sanity check to avoid potential crash in the Collabora Online server" Change-Id: I2fcfb634b47f9d76f8efbbd64a8e69ea236894c3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135024 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-05-26unittest for SalLayoutGlyphsCache glyphs subsetLuboš Luňák
Change-Id: I341871c65e63f37ffc3507daaefe035f6762e62b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134956 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-05-26do not use glyph subsets if LTR/RTL does not match (tdf#149264)Luboš Luňák
Writer apparently sometimes asks to lay out RTL text as LTR, for whatever reason, and Harfbuzz in that case does not give consistent results usable for creating subsets of glyphs (or maybe HB_GLYPH_FLAG_UNSAFE_TO_BREAK is not reliable in that case). I don't quite understand what the problem here is, but avoid it by checking whether the text is LTR or RTL and simply do not try to create a subset from the glyphs if the text does not match the way it was asked to be laid out. I don't even know if this is correct handling or just a workaround for something. Change-Id: Ic77db04f529c9ca2c194893a2127e85953accf32 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134950 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-05-26test also SalLayoutGlyphsCache in glyphs caching unittestLuboš Luňák
Change-Id: Ic0e5ea44525e7cf76a6de1f64f77b943b8347dfc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134948 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-05-26check GlyphItem equality properly in a unittestLuboš Luňák
I.e. use the existing operator==. I don't feel like writing operator<< for it just for one unittest though. Change-Id: I63181765a4987a5d6efedc74a1e20d56a70eaa83 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134947 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-05-26ofz#47617 don't skip TIFFClose on error conditionCaolán McNamara
Change-Id: Ie5a84488312b9f17733747942e45d767cd5d4966 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134928 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-05-25don't try glyph subsets if cloneCharRange() would return anywayLuboš Luňák
A small optimization. Change-Id: I21786ce713bd39d14c075a941d83c060d04b8886 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134949 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-05-25Revert "verify that all results from SalLayoutGlyphsCache match"Luboš Luňák
For now at least, as this is causing a number of Jenkins Mac failures, even though it originally passed (and still occassionally does). This reverts commit 04a36851aab1272c9c21ac97d0fc0f4ffe372fe0. Change-Id: I21454b6ec59e96dfb5f6eb723d4eb8f19948d195 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134955 Tested-by: Luboš Luňák <l.lunak@collabora.com> Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-05-25tdf#148864 Qt switch QtObjectWindow to QWidgetJan-Marek Glogowski
... and therefore rename it to QtObjectWidget Replacement of the QWidget with QWindow originally happened in commit 56b19f9a814ae5a39ed760ee542d715493cd0bf3 ("tdf#121247, tdf#121266 KDE5: Add basic support for OpenGL"), but that unfortunately has a very sparce commit message with no reason for this change. Then the code was further complicated in commit 25edbded9946801effd117b9c46de0f8b4bc5632 ("tdf#125517 Qt5 implement a minimal Qt5ObjectWindow") and a few follow up fixes to restore input and focus handling. But appearingly all this QWindow handling isn't necessary and just returning to a QWidget based class fixes the problems with the video overlay (AKA QWidget::winId()) and video playback for good. The OpenGL Impress transition (Fade) mentioned in the original tdf#121266 bug still works. This also adds the previously missing SolarMutexGuard to all the overridden QtObjectWidget functions, which call the SalObject's Callback function. I accidently triggered a DBG_TESTSOLARMUTEX crashing Impress while debugging this. Change-Id: Ia22cabfd4f3585dc7fa3f9f18a913c5bd1987dd8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134864 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2022-05-25cid#1504535 Uninitialized scalar fieldCaolán McNamara
Change-Id: I354e6ccc118ec20649eac5257375e493c8172dfa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134925 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-05-25ofz#47587 TimeoutCaolán McNamara
Change-Id: Ic2e168020ad9040705fbdcd0b6945c6a2d2f5b8f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134884 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-05-25tdf#149068 put a OpenGLZone around the sync indirect opengl callsCaolán McNamara
to get the opengl version Change-Id: Ibd55974a39d9d79c9ec9a03e4d4482e4e8755471 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134924 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-05-25verify that all results from SalLayoutGlyphsCache matchLuboš Luňák
The code used to do it only for computting glyph subsets, but some of the failures there show that bugs in font code elsewhere can make the cache returning different results, so check even for normal repeated cached calls. Change-Id: I8a18710546fe2557f69aaef4ab0bdb63c62a9253 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134659 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>