summaryrefslogtreecommitdiff
path: root/vcl/source
AgeCommit message (Collapse)AuthorFilesLines
2020-06-02add separators to TreeViewCaolán McNamara2-49/+105
Change-Id: I5e49913dfac82c1243d16ed0a0267a3647f51311 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95270 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-06-02use extra optimization of fdo#75058 universallyCaolán McNamara1-0/+2
always use optimization of commit 0b03f7ed575838f90e6b1ebec3538a3a214f81fb Author: Kohei Yoshida <kohei.yoshida@collabora.com> Date: Tue Apr 29 16:25:47 2014 -0400 fdo#75058: Optimize autofilter item filling for non-tree items. when frozen Change-Id: Ib86815cd44e0d0f547f2493fe005d7b1c4bf2fd1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95222 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-06-02tdf#133271 sw textbox: handle TextRotateAngle shape propertyMiklos Vajna1-0/+6
Shape with btlr text direction is imported as TextPreRotateAngle=-270 from DOCX. Saving this to ODT turns the property name into TextRotateAngle and its type into double. Handle that as well to survive the ODF roundtrip of a shape+textbox where the textbox has a btlr text direction. (Also add a way to make multiple tests in a suite to be more independent from each other: depending on ordering, the new test made the old test fail. Calling ErrorRegistry::Reset() makes that go away.) Change-Id: Iea9212f3bbb01059caf3b0f2d809e48debf52953 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95340 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2020-06-02tdf#74702 vcl: extract GetButtonBorderSize()Chris Sherlock2-9/+14
Change-Id: Ibc1818453425cbe5dac3e16bfde9dbe93beb1311 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94725 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-06-02tdf#74702 vcl: extract GetSyncCount()Chris Sherlock1-1/+1
Change-Id: Ie624f0d57aea4d72c69f6cd73508d129e53721d1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94722 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-06-01support hover-selection in SvTreeListBoxCaolán McNamara2-2/+10
Change-Id: I5ad124d7c9e5219a557069bc7283208124c734af Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95269 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-06-01Revert "tdf#125609 c10 vcl/button: enforce only one radio selected on init"Justin Luth1-6/+2
This has already been reverted in 6.4.5 with commit 64d7f805616fd781d87b49156860d96f081a5a45. I want to get out of this completely, because everything keeps on breaking based on my earlier patches. This reverts commit d35171456bc230efdaa9426da1398b2db7fa0df8, and the accompanying LO 6.4 commit a9f4913f283d34c610c4b73c755fdc828857bfce "tdf#125609 c14: vcl button: don't modify style directly" These reverted supporting commits are obsolete. (They fixed a situation caused by a commit that has since been fully reverted. I left these in for the benefit of anyone who might attempt that initial fix in the future. But now I want to get my finger prints out of here completely.) Change-Id: I0d765ce0cc4ab2b9d282d36a239518d43d6015ee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95190 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_luth@sil.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-06-01allow sorting buttons via weld::BoxCaolán McNamara2-9/+16
Change-Id: I315fe2dd2e40c976edd802c1e87b7ccdb0c298fe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95221 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-06-01vcl: move GraphicAttr into its own header fileTomaž Vajngerl1-3/+1
Change-Id: I8a730414e712a1484ffcca427ed4b1599d223f8c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95276 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-06-01vcl: VectorGraphicSearch return text rectangles in 100th mmTomaž Vajngerl1-0/+30
Change-Id: I12e7ad10dc3ed68d20d94713acece1361da27e81 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95261 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-06-01vcl: VectorGraphicSearch - add search result selection rectanglesTomaž Vajngerl1-1/+48
Change-Id: Ia0c5610f600719bcfb5de503f3876fc896cb630a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95256 Tested-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-06-01vcl: Add internal "Implementation" class for VectorGraphicSearchTomaž Vajngerl1-9/+26
We need to hide includes (needed for members) of PDFium inside from the outside, so not everyone using the VectorGraphicSearch needs to depend on PDFium too. Change-Id: I95e46c714758b130594d78a4618af7350e29a075 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95255 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-06-01vcl: VectorGraphicSearch - for searching text inside PDFTomaž Vajngerl1-0/+168
Change-Id: Iee940a3927330c8739774ff3c1af15998f89193b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95254 Tested-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-06-01tdf#133527: the code may be called without solar mutex guardMike Kaganski1-0/+4
... so make sure to get one before using releaser Change-Id: Ifd746e4bb4bdb0110d25fe1ff71fa3dfef67c4da Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95231 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-06-01tdf#74702 vcl: extract SetMetafileMapMode()Chris Sherlock2-4/+10
Change-Id: Icdd9d612b998d260c4cf0e30fb38e72b5ebd3194 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94723 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-05-30tdf#133365: only release solar mutex on WindowsMike Kaganski1-0/+6
Regression after f2561331534459f8aebc57e8615fa5f626521bcb Change-Id: Id12a81b2ca79edb7ae056b357dcfd1d8f4bb56ef Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95088 Tested-by: Jenkins Tested-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-by: Jean-Baptiste Faure <jbfaure@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-05-30Add TODOsMike Kaganski1-0/+4
Change-Id: I6ab5840487f7676d5070ea4be00272f13dd47f96 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95162 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-05-29tdf#133498 Make native drawing of FormattedField work (again)Michael Weghorn4-1/+7
Commit 2a694f9e0e7789b4b3b792a9eedd29366fa10c1c ("lok: fix the window type of the formatted field control", 2020-05-06) had introduced the new 'WindowType::FORMATTEDFIELD' and sets it for the 'FormattedField' control, instead of using the previous default value set in the 'SpinField' ctor, which is 'WindowType::SPINFIELD'. This commit adds the corresponding 'WindowType::FORMATTEDFIELD' cases relevant to make native drawing of the control work (again). Also map the corresponding accessibility roles. Change-Id: Ied0b0548c03dee3feaf1b6252c81b2a33b68b938 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95156 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2020-05-29loplugin:simplifybool in ucb..vclNoel Grandin8-16/+14
Change-Id: Ib63623f5ca3f6559e02a0013c3cbd6174f7aec14 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95108 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-05-29change TreeView toggle signal to provide an iter instead of a row indexCaolán McNamara1-6/+4
Change-Id: Ib611780816d170daa40f394b9798640ff6284d68 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95056 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-29Allow dumping Bitmap in its dtor in dbgutil buildsMike Kaganski1-0/+30
Change-Id: I81ec9d1c16a07c6c56e51e7e334fb692b963e1e1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95054 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-05-29Add AlphaMask::BlendWith method to blend 8-bit alpha masksMike Kaganski1-0/+23
Required for subsequent soft edge effect improvement Change-Id: I9351b827a83c5651100e73a6846c834f491b861d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95027 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-05-29Consider mpAlphaVDev when processing metafile in OutputDevice::DrawOutDevMike Kaganski1-2/+10
Change-Id: Ia9709bba6eb2a64781297ca260341693b0e39107 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95019 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-05-28do not explicitly invalidate window under a tooltip (tdf#131419)Luboš Luňák1-17/+0
It doesn't really make sense, since tooltips are separate windows, any repaints will be normally handled by the windowing system. And native (=handled by a specific VCL backend) tooltips do not do this either. This avoids an off-by-one error somewhere, seen in tdf#131419. Change-Id: Ie22dad61d021807aa15efdde7dbb77274460d575 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94976 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-05-28Resolves: tdf#133411 drop CONTENT_FLOWS_TO from dialog to search resultsCaolán McNamara2-26/+0
in the document, looks like only the calc one actually works, and when it works on large quantities of results calc grinds to a complete halt This was introduced with: commit b41332475783c31136673fb44cf4c411bb0148f8 Date: Mon Dec 2 15:54:29 2013 +0000 Integrate branch of IAccessible2 and has been a problem on and off with calc's potentially ~infinite grid There is the on-by-default search results dialog in calc (which has a limit on how many it shows) which provides an alternative route to iterate through the results Change-Id: I2685e480d2d15220be0bddbc83baad3992e7d5d1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95006 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-27tdf#133396 FormattedField comes with differrent defaults than GtkSpinButtonCaolán McNamara1-14/+11
so explicitly set the GtkSpinButton defaults in their absence from a GtkAdjustment Change-Id: Idbf3370ab35c9d48a4f01a680ca4413238a8fd6e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94887 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-27Resolves: tdf#133385 dangling pTargetEntry after remove or clearCaolán McNamara1-1/+6
Change-Id: Id04b08ea5af1341d548f7bb1e3c3c7f5b7197548 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94944 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-27no GtkLabel with :border hack exist anymoreCaolán McNamara1-3/+0
Change-Id: Iaa1826f9de8fb7cb02d7d44cd499a350ce9da835 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94942 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-27no GtkCheckButton with :wrap hack exist anymoreCaolán McNamara1-3/+0
Change-Id: Ibf6795798d68efe4ed64a9c3a94f6af550f62bab Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94941 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-27no GtkRadioButton with :wrap hack exist anymoreCaolán McNamara1-3/+0
Change-Id: Ia2e3dbfb9cafbfb7d0463633277185e1a96bbc0c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94940 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-27no GtkDrawingArea with :border hack exist anymoreCaolán McNamara1-2/+1
Change-Id: I3e9bd08c1e03652c956336e1e6b83a99560babc1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94939 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-27no GtkComboBox[Text]s with :pattern hack exist anymoreCaolán McNamara1-97/+1
Change-Id: I2985697096133cadce2a68a357c86757b07af5cd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94938 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-27no GtkSpinButtons with :pattern hack exist anymoreCaolán McNamara1-39/+7
Change-Id: I9d622890b3f8e58d6b634014f242e7cd9016d507 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94937 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-27WB_LISTBOX_POPUP is newly unusedCaolán McNamara1-1/+1
Change-Id: I97a52499e1fda8a9426e6956e3e925e0572c41ce Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94886 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-26Fix loplugin:simplifypointertobool for libstdc++ std::shared_ptrStephan Bergmann5-24/+24
...where the get member function is defined on a std::__shared_ptr base class, so loplugin:simplifypointertobool used to miss those until now. (While e.g. using libc++ on macOS found those cases.) 366d08f2f6d4de922f6099c62bb81b49d89e0a68 "new loplugin:simplifypointertobool" was mistaken in breaking isSmartPointerType(const clang::Type* t) out of isSmartPointerType(const Expr* e); c874294ad9fb178df47c66875bfbdec466e39763 "Fix detection of std::unique_ptr/shared_ptr in loplugin:redundantpointerops" had introduced that indivisible two-step algorithm on purpose. The amount of additional hits (on Linux) apparently asked for turning loplugin:simplifypointertobool into a rewriting plugin. Which in turn showed that the naive adivce to just "drop the get()" is not sufficient in places that are not contextually converted to bool, as those places need to be wrapped in a bool(...) functional cast now. If the expression was already wrapped in parentheses, those could be reused as part of the functional cast, but implementing that showed that such cases are not yet found at all by the existing loplugin:simplifypointertobool. Lets leave that TODO for another commit. Besides the changes to compilerplugins/ itself, this change has been generated fully automatically with the rewriting plugin on Linux. Change-Id: I83107d6f634fc9ac232986f49044d7017df83e2a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94888 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Jenkins
2020-05-26make highlight of get_dest_row_at_pos optionalCaolán McNamara1-2/+3
Change-Id: I280e1a49e938f45402f373896669fd6f7e8a66fc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94876 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-26emit activate-row in vcl treeview on returnCaolán McNamara1-2/+1
to align it with the gtk one which does this Change-Id: Id439fe684f263f59285ba9291fc803f88309c066 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94875 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-26tdf#133216 - Objects are not printed (Win-only)Chris Sherlock1-388/+342
Seem to have been introduced in commit 6fa6704a7e7c6970b7a7c:6 "vcl: move functionality out of checkRect(), rendering function obsolete" This reverts: commit 7b47a96b20122863e77aa1918e878372b3485c9f. "vcl: refactor code into GenerateConnectedComponents()" commit 5ef0f7dfafd8b83818c831914467f93e47a5bb2f. "vcl: refactor code into GenerateIntersectingConnectedComponents()" commit 93649784ddbb7d9ca779d14fd60fb97385325d17. "vcl: move stage 1 functionality into DetectBackground()" commit 34a699f1894f30f68c3243784586617e01e60ab6. "vcl: refactor by creating GetActionAfterBackgroundAction() function" commit f85769f61b2d2380750be564c6de47f28be35b8a. "vcl: refactor by creating RecordMapModeChanges() function" commit 8318a636336dd6d6b5862a3366f85f96c64d8243. "vcl: refactor by creating SetBackgroundColorAndBounds() function" commit f0ca5a0c447f4fe4667693d744af61eaeb0625ee. "vcl: move functionality into FindIncompletelyOccludedBackground()" commit 449f23c44ccdf6d2bfe7baa143d32d8f585aef4b. "vcl: new local function setComponentsSizeAndColor()" commit 6fa6704a7e7c6970b7a7c695a4a548f8dc693d03. "vcl: move functionality out of checkRect(), rendering function obsolete" Change-Id: Ic85397c1b69f2b529cff90206387d017692cecf2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94804 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-05-26tdf#131715: uitest: add wrapper for roadmapwizardXisco Fauli2-0/+52
Change-Id: I8e8999b7862ad13cb6d3328e05abe120da3ed5c0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94759 Tested-by: Jenkins Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
2020-05-25support activate-on-single-clickCaolán McNamara2-4/+11
Change-Id: Iac0231b3bd84d664b1ab59023ef8242f3bd08940 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94773 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-25loplugin:unusedmethodsNoel Grandin2-2/+2
Change-Id: I235e00eca7b7cbc070bf5831117868eba5c7c273 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94791 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-05-25loplugin:constantparamNoel Grandin3-11/+6
Change-Id: I8961b5df1b3a7ea9b7dd83114fce1555b9e4ffcc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94787 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-05-25Fix typosAndrea Gelmini1-1/+1
Change-Id: I7c94080396dae767079a968cdda74449a144a947 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94655 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2020-05-25vcl: refactor code into GenerateConnectedComponents()Chris Sherlock1-140/+145
Change-Id: I366900248d7d56bf98278463065460d98f321120 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94719 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-05-25vcl: refactor code into GenerateIntersectingConnectedComponents()Chris Sherlock1-55/+63
Change-Id: I821feafacb5301c7001c68be995df72ba02a64b2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94565 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-05-25no GtkTextView:border cases exist anymoreCaolán McNamara1-6/+0
Change-Id: I5f95ac2b34abbdcc91f052367dd7b8cce303db93 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94741 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-24GetSysFontData is newly unusedCaolán McNamara1-17/+0
and thus SystemFontData Change-Id: I563a6b7c251194cd73c6b0026d4ae8485a057b28 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94740 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-24GetSysTextLayoutData is newly unusedCaolán McNamara1-61/+0
and thus SystemTextLayoutData and SystemGlyphData Change-Id: Ib22e4b4f98b9da0337f31645bd26e41475f6d830 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94739 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-24Prevent deadlock accessing clipboardMike Kaganski1-0/+8
Main thread call stack: win32u.dll!NtUserMsgWaitForMultipleObjectsEx() user32.dll!RealMsgWaitForMultipleObjectsEx() combase.dll!CCliModalLoop::BlockFn(void * * ahEvent, unsigned long cEvents, unsigned long * lpdwSignaled) Line 2233 combase.dll!ModalLoop(CSyncClientCall * pClientCall) Line 166 combase.dll!ClassicSTAThreadDispatchCrossApartmentCall(tagRPCOLEMESSAGE * pMessage, OXIDEntry * pOXIDEntry, CSyncClientCall * pClientCall) Line 321 [Inline Frame] combase.dll!CSyncClientCall::SwitchAptAndDispatchCall(tagRPCOLEMESSAGE * pMessage) Line 5696 combase.dll!CSyncClientCall::SendReceive2(tagRPCOLEMESSAGE * pMessage, unsigned long * pstatus) Line 5377 [Inline Frame] combase.dll!SyncClientCallRetryContext::SendReceiveWithRetry(tagRPCOLEMESSAGE *) Line 1617 [Inline Frame] combase.dll!CSyncClientCall::SendReceiveInRetryContext(SyncClientCallRetryContext *) Line 567 combase.dll!ClassicSTAThreadSendReceive(CSyncClientCall * pClientCall, tagRPCOLEMESSAGE * pMsg, unsigned long * pulStatus) Line 549 combase.dll!CSyncClientCall::SendReceive(tagRPCOLEMESSAGE * pMessage, unsigned long * pulStatus) Line 783 combase.dll!CClientChannel::SendReceive(tagRPCOLEMESSAGE * pMessage, unsigned long * pulStatus) Line 653 combase.dll!NdrExtpProxySendReceive(void * pThis, _MIDL_STUB_MESSAGE * pStubMsg) Line 2002 rpcrt4.dll!NdrpClientCall3() rpcrt4.dll!NdrClientCall3() [Inline Frame] combase.dll!IDataObject_RemoteGetData_Proxy(IDataObject *) Line 2082 combase.dll!IDataObject_GetData_Proxy(IDataObject * This, tagFORMATETC * pformatetcIn, tagSTGMEDIUM * pMedium) Line 1270 sysdtrans.dll!CAPNDataObject::GetData(tagFORMATETC * pFormatetc, tagSTGMEDIUM * pmedium) Line 146 sysdtrans.dll!CDOTransferable::getClipboardData(CFormatEtc & aFormatEtc) Line 421 sysdtrans.dll!CDOTransferable::getTransferData(const com::sun::star::datatransfer::DataFlavor & aFlavor) Line 251 vcllo.dll!TransferableDataHelper::GetAny(const com::sun::star::datatransfer::DataFlavor & rFlavor, const rtl::OUString & rDestDoc) Line 1461 vcllo.dll!TransferableDataHelper::GetSequence(const com::sun::star::datatransfer::DataFlavor & rFlavor, const rtl::OUString & rDestDoc) Line 2043 vcllo.dll!TransferableDataHelper::GetSotStorageStream(const com::sun::star::datatransfer::DataFlavor & rFlavor, tools::SvRef<SotStorageStream> & rxStream) Line 2061 vcllo.dll!TransferableDataHelper::GetSotStorageStream(SotClipboardFormatId nFormat, tools::SvRef<SotStorageStream> & rxStream) Line 2055 swlo.dll!SwTransferable::PasteFileContent(TransferableDataHelper & rData, SwWrtShell & rSh, SotClipboardFormatId nFormat, bool bMsg, bool bIgnoreComments) Line 2060 swlo.dll!SwTransferable::PasteData(TransferableDataHelper & rData, SwWrtShell & rSh, unsigned char nAction, SotExchangeActionFlags nActionFlags, SotClipboardFormatId nFormat, SotExchangeDest nDestination, bool bIsPasteFormat, bool bIsDefault, const Point * pPt, char nDropAction, bool bPasteSelection, RndStdIds nAnchorType, bool bIgnoreComments, SwPasteContext * pContext, PasteTableType ePasteTable) Line 1743 swlo.dll!SwTransferable::Paste(SwWrtShell & rSh, TransferableDataHelper & rData, RndStdIds nAnchorType, bool bIgnoreComments, PasteTableType ePasteTable) Line 1576 swlo.dll!SwBaseShell::ExecClpbrd(SfxRequest & rReq) Line 304 swlo.dll!SfxStubSwBaseShellExecClpbrd(SfxShell * pShell, SfxRequest & rReq) Line 2189 sfxlo.dll!SfxShell::CallExec(void(*)(SfxShell *, SfxRequest &) pFunc, SfxRequest & rReq) Line 197 sfxlo.dll!SfxDispatcher::Call_Impl(SfxShell & rShell, const SfxSlot & rSlot, SfxRequest & rReq, bool bRecord) Line 255 sfxlo.dll!SfxDispatcher::Execute_(SfxShell & rShell, const SfxSlot & rSlot, SfxRequest & rReq, SfxCallMode eCallMode) Line 752 sfxlo.dll!SfxBindings::Execute_Impl(SfxRequest & aReq, const SfxSlot * pSlot, SfxShell * pShell) Line 1059 sfxlo.dll!SfxDispatchController_Impl::dispatch(const com::sun::star::util::URL & aURL, const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & aArgs, const com::sun::star::uno::Reference<com::sun::star::frame::XDispatchResultListener> & rListener) Line 758 sfxlo.dll!SfxOfficeDispatch::dispatchWithNotification(const com::sun::star::util::URL & aURL, const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & aArgs, const com::sun::star::uno::Reference<com::sun::star::frame::XDispatchResultListener> & rListener) Line 242 fwelo.dll!framework::DispatchHelper::executeDispatch(const com::sun::star::uno::Reference<com::sun::star::frame::XDispatch> & xDispatch, const com::sun::star::util::URL & aURL, bool SyncronFlag, const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & lArguments) Line 152 fwelo.dll!framework::DispatchHelper::executeDispatch(const com::sun::star::uno::Reference<com::sun::star::frame::XDispatchProvider> & xDispatchProvider, const rtl::OUString & sURL, const rtl::OUString & sTargetFrameName, long nSearchFlags, const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & lArguments) Line 109 unotest.dll!unotest::MacrosTest::dispatchCommand(const com::sun::star::uno::Reference<com::sun::star::lang::XComponent> & xComponent, const rtl::OUString & rCommand, const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & rPropertyValues) Line 77 test_sw_uiwriter.dll!testTdf132187::TestBody() Line 91 test_sw_uiwriter.dll!std::_Invoker_pmf_pointer::_Call<void (__cdecl testTdf132187::*)(void),testTdf132187 * &>(void(testTdf132187::*)() _Pmf, testTdf132187 * & _Arg1) Line 1610 test_sw_uiwriter.dll!std::invoke<void (__cdecl testTdf132187::*&)(void),testTdf132187 * &>(void(testTdf132187::*)() & _Obj, testTdf132187 * & <_Args_0>) Line 1610 test_sw_uiwriter.dll!std::_Invoker_ret<std::_Unforced,0>::_Call<void (__cdecl testTdf132187::*&)(void),testTdf132187 * &>(void(testTdf132187::*)() & <_Vals_0>, testTdf132187 * & <_Vals_1>) Line 1646 test_sw_uiwriter.dll!std::_Call_binder<std::_Unforced,0,void (__cdecl testTdf132187::*)(void),std::tuple<testTdf132187 *>,std::tuple<>>(std::_Invoker_ret<std::_Unforced,0> __formal, std::integer_sequence<unsigned __int64,0> __formal, void(testTdf132187::*)() & _Obj, std::tuple<testTdf132187 *> & _Tpl, std::tuple<> && _Ut) Line 1433 test_sw_uiwriter.dll!std::_Binder<std::_Unforced,void (__cdecl testTdf132187::*&)(void),testTdf132187 * &>::operator()<>() Line 1473 test_sw_uiwriter.dll!std::_Invoker_functor::_Call<std::_Binder<std::_Unforced,void (__cdecl testTdf132187::*&)(void),testTdf132187 * &> &>(std::_Binder<std::_Unforced,void (__cdecl testTdf132187::*&)(void),testTdf132187 * &> & _Obj) Line 1610 test_sw_uiwriter.dll!std::invoke<std::_Binder<std::_Unforced,void (__cdecl testTdf132187::*&)(void),testTdf132187 * &> &>(std::_Binder<std::_Unforced,void (__cdecl testTdf132187::*&)(void),testTdf132187 * &> & _Obj) Line 1610 test_sw_uiwriter.dll!std::_Invoker_ret<void,1>::_Call<std::_Binder<std::_Unforced,void (__cdecl testTdf132187::*&)(void),testTdf132187 * &> &>(std::_Binder<std::_Unforced,void (__cdecl testTdf132187::*&)(void),testTdf132187 * &> & <_Vals_0>) Line 1629 test_sw_uiwriter.dll!std::_Func_impl_no_alloc<std::_Binder<std::_Unforced,void (__cdecl testTdf132187::*&)(void),testTdf132187 * &>,void>::_Do_call() Line 927 test_sw_uiwriter.dll!std::_Func_class<void>::operator()() Line 977 test_sw_uiwriter.dll!CppUnit::TestCaller<testTdf132187>::runTest() Line 176 cppunitd_dll.dll!CppUnit::TestCaseMethodFunctor::operator()() Line 33 vclbootstrapprotector.dll!`anonymous namespace'::Protector::protect(const CppUnit::Functor & functor, const CppUnit::ProtectorContext & __formal) Line 46 cppunitd_dll.dll!CppUnit::ProtectorChain::ProtectFunctor::operator()() Line 21 unobootstrapprotector.dll!`anonymous namespace'::Prot::protect(const CppUnit::Functor & functor, const CppUnit::ProtectorContext & __formal) Line 79 cppunitd_dll.dll!CppUnit::ProtectorChain::ProtectFunctor::operator()() Line 21 unoexceptionprotector.dll!`anonymous namespace'::Prot::protect(const CppUnit::Functor & functor, const CppUnit::ProtectorContext & context) Line 61 cppunitd_dll.dll!CppUnit::ProtectorChain::ProtectFunctor::operator()() Line 21 cppunitd_dll.dll!CppUnit::DefaultProtector::protect(const CppUnit::Functor & functor, const CppUnit::ProtectorContext & context) Line 15 cppunitd_dll.dll!CppUnit::ProtectorChain::ProtectFunctor::operator()() Line 21 cppunitd_dll.dll!CppUnit::ProtectorChain::protect(const CppUnit::Functor & functor, const CppUnit::ProtectorContext & context) Line 86 cppunitd_dll.dll!CppUnit::TestResult::protect(const CppUnit::Functor & functor, CppUnit::Test * test, const std::string & shortDescription) Line 182 cppunitd_dll.dll!CppUnit::TestCase::run(CppUnit::TestResult * result) Line 91 cppunitd_dll.dll!CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult * controller) Line 65 cppunitd_dll.dll!CppUnit::TestComposite::run(CppUnit::TestResult * result) Line 24 cppunitd_dll.dll!CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult * controller) Line 65 cppunitd_dll.dll!CppUnit::TestComposite::run(CppUnit::TestResult * result) Line 24 cppunitd_dll.dll!CppUnit::TestRunner::WrappingSuite::run(CppUnit::TestResult * result) Line 47 cppunitd_dll.dll!CppUnit::TestResult::runTest(CppUnit::Test * test) Line 150 cppunitd_dll.dll!CppUnit::TestRunner::run(CppUnit::TestResult & controller, const std::string & testPath) Line 96 cppunittester.exe!`anonymous namespace'::ProtectedFixtureFunctor::run() Line 316 cppunittester.exe!sal_main() Line 466 cppunittester.exe!main(int argc, char * * argv) Line 373 cppunittester.exe!invoke_main() Line 79 cppunittester.exe!__scrt_common_main_seh() Line 288 cppunittester.exe!__scrt_common_main() Line 331 cppunittester.exe!mainCRTStartup() Line 17 kernel32.dll!BaseThreadInitThunk() ntdll.dll!RtlUserThreadStart() The worker thread call stack: ntdll.dll!NtWaitForAlertByThreadId() ntdll.dll!RtlpWaitOnAddressWithTimeout() ntdll.dll!RtlpWaitOnAddress() ntdll.dll!RtlpWaitOnCriticalSection() ntdll.dll!RtlpEnterCriticalSectionContended() ntdll.dll!RtlEnterCriticalSection() sal3.dll!osl_acquireMutex(_oslMutexImpl * Mutex) Line 66 vclplug_winlo.dll!osl::Mutex::acquire() Line 57 vclplug_winlo.dll!SalYieldMutex::doAcquire(unsigned long nLockCount) Line 165 comphelper.dll!comphelper::SolarMutex::acquire(unsigned long nLockCount) Line 87 vcllo.dll!osl::Guard<comphelper::SolarMutex>::Guard<comphelper::SolarMutex>(comphelper::SolarMutex & t) Line 136 vcllo.dll!SolarMutexGuard::SolarMutexGuard() Line 1347 vcllo.dll!TransferableHelper::getTransferData2(const com::sun::star::datatransfer::DataFlavor & rFlavor, const rtl::OUString & rDestDoc) Line 294 vcllo.dll!TransferableHelper::getTransferData(const com::sun::star::datatransfer::DataFlavor & rFlavor) Line 287 sysdtrans.dll!CXTDataObject::renderAnyDataAndSetupStgMedium(tagFORMATETC & fetc, tagSTGMEDIUM & stgmedium) Line 341 sysdtrans.dll!CXTDataObject::GetData(tagFORMATETC * pFormatetc, tagSTGMEDIUM * pmedium) Line 261 sysdtrans.dll!CXNotifyingDataObject::GetData(tagFORMATETC * pFormatetc, tagSTGMEDIUM * pmedium) Line 86 ole32.dll!CClipDataObject::GetData(tagFORMATETC * pformatetc, tagSTGMEDIUM * pmedium) Line 1045 [Inline Frame] combase.dll!IDataObject_GetData_Stub(IDataObject * This, tagFORMATETC *) Line 1291 combase.dll!IDataObject_RemoteGetData_Thunk(_MIDL_STUB_MESSAGE * pStubMsg) Line 2112 rpcrt4.dll!Ndr64StubWorker() rpcrt4.dll!NdrStubCall3() combase.dll!CStdStubBuffer_Invoke(IRpcStubBuffer * This, tagRPCOLEMESSAGE * prpcmsg, IRpcChannelBuffer * pRpcChannelBuffer) Line 1524 [Inline Frame] combase.dll!InvokeStubWithExceptionPolicyAndTracing::__l6::<lambda_c9f3956a20c9da92a64affc24fdd69ec>::operator()() Line 1385 combase.dll!ObjectMethodExceptionHandlingAction<<lambda_c9f3956a20c9da92a64affc24fdd69ec>>(InvokeStubWithExceptionPolicyAndTracing::__l6::<lambda_c9f3956a20c9da92a64affc24fdd69ec> action, ObjectMethodExceptionHandlingInfo * pExceptionHandlingInfo, ExceptionHandlingResult * pExceptionHandlingResult, void *) Line 87 [Inline Frame] combase.dll!InvokeStubWithExceptionPolicyAndTracing(IRpcStubBuffer * pMsg, tagRPCOLEMESSAGE *) Line 1383 combase.dll!DefaultStubInvoke(bool bIsAsyncBeginMethod, IServerCall * pServerCall, IRpcChannelBuffer * pChannel, IRpcStubBuffer * pStub, unsigned long * pdwFault) Line 1452 [Inline Frame] combase.dll!SyncStubCall::Invoke(IServerCall *) Line 1509 combase.dll!SyncServerCall::StubInvoke(IRpcChannelBuffer * pChannel, IRpcStubBuffer * pStub, unsigned long * pdwFault) Line 826 [Inline Frame] combase.dll!StubInvoke(tagRPCOLEMESSAGE * pMsg, CStdIdentity * pStdID, IRpcStubBuffer *) Line 1734 combase.dll!ServerCall::ContextInvoke(tagRPCOLEMESSAGE * pMessage, IRpcStubBuffer * pStub, CServerChannel * pChannel, tagIPIDEntry * pIPIDEntry, unsigned long * pdwFault) Line 1418 [Inline Frame] combase.dll!CServerChannel::ContextInvoke(tagRPCOLEMESSAGE *) Line 1327 [Inline Frame] combase.dll!DefaultInvokeInApartment(tagRPCOLEMESSAGE *) Line 3352 combase.dll!ReentrantSTAInvokeInApartment(tagRPCOLEMESSAGE * pMsg, unsigned long dwCallCat, bool bIsTouchedASTACall, IRpcStubBuffer * pStub, CServerChannel * pChnl, tagIPIDEntry * pIPIDEntry, unsigned long * pdwFault) Line 112 combase.dll!AppInvoke(ServerCall * pServerCall, CServerChannel * pChannel, IRpcStubBuffer * pStub, void * pStubBuffer, void * pIPIDEntry, tagIPIDEntry * pLocalb, WireLocalThis *) Line 1182 combase.dll!ComInvokeWithLockAndIPID(ServerCall * pServerCall, tagIPIDEntry * pIPIDEntry, bool * pbCallerResponsibleForRequestMessageCleanup) Line 2290 [Inline Frame] combase.dll!ComInvoke(ServerCall *) Line 1803 [Inline Frame] combase.dll!ThreadDispatch(ServerCall *) Line 416 combase.dll!ThreadWndProc(HWND__ * window, unsigned int message, unsigned __int64 wparam, __int64 params) Line 744 user32.dll!UserCallWinProcCheckWow() user32.dll!DispatchMessageWorker() sysdtrans.dll!CMtaOleClipboard::run() Line 652 sysdtrans.dll!CMtaOleClipboard::oleThreadProc(void * pParam) Line 673 ucrtbased.dll!thread_start<unsigned int (__cdecl*)(void *),1>(void * const parameter) Line 97 kernel32.dll!BaseThreadInitThunk() ntdll.dll!RtlUserThreadStart() Main thread acquires solar mutex in SfxDispatchController_Impl::dispatch, and calls IDataObject::GetData. Worker thread serves the call, and waits for the solar mutex => deadlock. Change-Id: Ic408a779af9390531d1fc4272995f12849716a87 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94679 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-05-24inline some use-once typedefsNoel Grandin1-4/+1
Change-Id: Idddba2f3fd05265b08dbc88edb6152d34a166052 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94730 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>