desktop/win32/source/QuickStart/QuickStart.cxx | 2 dtrans/source/win32/ftransl/ftransl.cxx | 2 sd/source/core/stlpool.cxx | 5 +- sd/source/ui/view/sdview2.cxx | 20 ++++++--- sd/source/ui/view/sdview3.cxx | 35 ++++++++++------- sot/source/base/exchange.cxx | 2 svx/source/tbxctrls/colrctrl.cxx | 32 +++++++-------- vcl/source/window/winproc.cxx | 2 xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx | 8 ++- 9 files changed, 62 insertions(+), 46 deletions(-)
New commits: commit 916996deba25019b2f0552cb2315a858a2b01fa2 Author: brinzing <oliver.brinz...@gmx.de> AuthorDate: Sat Oct 27 17:32:38 2018 +0200 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Fri Nov 2 10:58:30 2018 +0100 possible fix for tdf#120928 - quickstart --killtray throws exception Change-Id: Id4081439075f4beecc2b0e4aed035d5ee28a2cfd Reviewed-on: https://gerrit.libreoffice.org/62429 Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> Tested-by: Jenkins (cherry picked from commit a41d7ee25ea5057cd887c67d33d42f4c764f9c77) Reviewed-on: https://gerrit.libreoffice.org/62441 Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> Tested-by: Thorsten Behrens <thorsten.behr...@cib.de> (cherry picked from commit c7e4e6b41e80309c203a4eab1f5cc03b47c31faa) diff --git a/desktop/win32/source/QuickStart/QuickStart.cxx b/desktop/win32/source/QuickStart/QuickStart.cxx index 0cc673c77191..f8342229c9e3 100644 --- a/desktop/win32/source/QuickStart/QuickStart.cxx +++ b/desktop/win32/source/QuickStart/QuickStart.cxx @@ -89,7 +89,7 @@ int APIENTRY wWinMain(HINSTANCE /*hInstance*/, for ( int i = 1; i < __argc; i++ ) { - if ( 0 == strcmp( __argv[i], "--killtray" ) ) + if ( 0 == wcscmp( __wargv[i], L"--killtray" ) ) { HWND hwndTray = FindWindowW( QUICKSTART_CLASSNAME, nullptr ); commit 45c525628605f3bf7bad84670d1a86fcfa51b8ab Author: Cor Nouws <oo...@nouenoff.nl> AuthorDate: Thu Sep 27 21:53:12 2018 +0200 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Fri Nov 2 10:58:12 2018 +0100 tdf#116085 make sure Certificate Manager is found with GPG4win v3 Reviewed-on: https://gerrit.libreoffice.org/61061 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> (cherry picked from commit 89a60912bba7ffd6f65ea99f4664f343c5025c95) Reviewed-on: https://gerrit.libreoffice.org/61173 Reviewed-by: Michael Stahl <michael.st...@cib.de> Change-Id: I3a7ab7ec046a6bbff4b4a020e76356ffd454bab8 Reviewed-on: https://gerrit.libreoffice.org/62546 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> (cherry picked from commit caa828920719240bcf0fb4b55ffb0fd6a5dd8b82) diff --git a/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx b/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx index 8c65aa2944fd..8a1ba46860a6 100644 --- a/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx +++ b/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx @@ -472,9 +472,11 @@ IMPL_STATIC_LINK_NOARG(DigitalSignaturesDialog, CertMgrButtonHdl, Button*, void) // FIXME: call GpgME::dirInfo("bindir") somewhere in // SecurityEnvironmentGpg or whatnot // FIXME: perhaps poke GpgME for uiserver, and hope it returns something useful? - const OUString aGUIServers[] = { OUString("kleopatra.exe"), OUString("launch-gpa.exe"), OUString("gpa.exe"), - OUString("bin\\kleopatra.exe"), OUString("bin\\launch-gpa.exe"), OUString("bin\\gpa.exe") }; - const char* cPath = "C:\\Program Files (x86)\\GNU\\GnuPG"; + const OUString aGUIServers[] = { OUString("Gpg4win\\kleopatra.exe"), OUString("GNU\\GnuPG\\kleopatra.exe"), + OUString("GNU\\GnuPG\\launch-gpa.exe"), OUString("GNU\\GnuPG\\gpa.exe"), + OUString("GNU\\GnuPG\\bin\\kleopatra.exe"), OUString("GNU\\GnuPG\\bin\\launch-gpa.exe"), + OUString("GNU\\GnuPG\\bin\\gpa.exe") }; + const char* const cPath = "C:\\Program Files (x86)"; #else const OUString aGUIServers[] = { OUString("kleopatra"), OUString("seahorse"), OUString("gpa"), OUString("kgpg") }; const char* cPath = getenv("PATH"); commit 5541e10ae62c236799091e3b6817a9dbcb09e7c4 Author: Michael Stahl <michael.st...@cib.de> AuthorDate: Sat Oct 27 23:39:27 2018 +0200 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Fri Nov 2 10:57:35 2018 +0100 tdf#119235 svx,sd: fix drag&drop from ColorBar This was using the SfxPoolItem serialisation of XATTR_FILL* items, where only XFillColorItem and XFillStyleItem were actually used; the binary serialisation was removed without being aware of this feature. Fix this by using uno::Any instead, rather than reviving the binary serialisation. Also change the clipboard format strings, just to be safe. (regression from 97b889b8b2b2554ce33fd6b3f0359fc18f39832d) Change-Id: I1828621a9aae606a1ca47835eef608062efe64a0 Reviewed-on: https://gerrit.libreoffice.org/62455 Reviewed-by: Michael Stahl <michael.st...@cib.de> Tested-by: Michael Stahl <michael.st...@cib.de> (cherry picked from commit 0a6813ad5d57d0df72562c797a8b0581bfd65a11) Reviewed-on: https://gerrit.libreoffice.org/62472 Tested-by: Jenkins Reviewed-by: Armin Le Grand <armin.le.gr...@cib.de> (cherry picked from commit 24ccbc35e8857cc8de784154d0648800d39ab20b) diff --git a/dtrans/source/win32/ftransl/ftransl.cxx b/dtrans/source/win32/ftransl/ftransl.cxx index 64962aecf05a..8f079c646e22 100644 --- a/dtrans/source/win32/ftransl/ftransl.cxx +++ b/dtrans/source/win32/ftransl/ftransl.cxx @@ -144,7 +144,7 @@ static const std::vector< FormatEntry > g_TranslTable { // SotClipboardFormatId::SVIM FormatEntry("application/x-openoffice-svim;windows_formatname=\"SVIM (StarView ImageMap)\"", "SVIM (StarView ImageMap)", nullptr, CF_INVALID, CPPUTYPE_DEFAULT), // SotClipboardFormatId::XFA - FormatEntry("application/x-openoffice-xfa;windows_formatname=\"XFA (XOutDev FillAttr)\"", "XFA (XOutDev FillAttr)", nullptr, CF_INVALID, CPPUTYPE_DEFAULT), + FormatEntry("application/x-libreoffice-xfa;windows_formatname=\"XFA (XOutDev FillAttr Any)\"", "XFA (XOutDev FillAttr Any)", nullptr, CF_INVALID, CPPUTYPE_DEFAULT), // SotClipboardFormatId::EDITENGINE_ODF_TEXT_FLAT FormatEntry("application/vnd.oasis.opendocument.text-flat-xml", "EditEngine ODF", nullptr, CF_INVALID, CPPUTYPE_DEFAULT), // SotClipboardFormatId::INTERNALLINK_STATE diff --git a/sd/source/ui/view/sdview2.cxx b/sd/source/ui/view/sdview2.cxx index 746caede60cf..577caae6af0b 100644 --- a/sd/source/ui/view/sdview2.cxx +++ b/sd/source/ui/view/sdview2.cxx @@ -21,6 +21,7 @@ #include <vector> #include <com/sun/star/embed/XEmbedPersist.hpp> +#include <comphelper/sequenceashashmap.hxx> #include <tools/urlobj.hxx> #include <vcl/msgbox.hxx> #include <svx/svdetc.hxx> @@ -670,14 +671,19 @@ sal_Int8 View::ExecuteDrop( const ExecuteDropEvent& rEvt, { if(pIAOHandle->getOverlayObjectList().isHitPixel(rEvt.maPosPixel)) { - ::tools::SvRef<SotStorageStream> xStm; - - if( aDataHelper.GetSotStorageStream( SotClipboardFormatId::XFA, xStm ) && xStm.is() ) + uno::Any const data(aDataHelper.GetAny(SotClipboardFormatId::XFA, "")); + uno::Sequence<beans::NamedValue> props; + if (data >>= props) { - XFillExchangeData aFillData( XFillAttrSetItem( &mrDoc.GetPool() ) ); - - ReadXFillExchangeData( *xStm, aFillData ); - const Color aColor( aFillData.GetXFillAttrSetItem()->GetItemSet().Get( XATTR_FILLCOLOR ).GetColorValue() ); + ::comphelper::SequenceAsHashMap const map(props); + Color aColor(COL_BLACK); + auto const it = map.find("FillColor"); + if (it != map.end()) + { + XFillColorItem color; + color.PutValue(it->second, 0); + aColor = color.GetColorValue(); + } static_cast< SdrHdlColor* >( pIAOHandle )->SetColor( aColor, true ); nRet = nDropAction; } diff --git a/sd/source/ui/view/sdview3.cxx b/sd/source/ui/view/sdview3.cxx index 24e22a0f0dc5..01c415bff69f 100644 --- a/sd/source/ui/view/sdview3.cxx +++ b/sd/source/ui/view/sdview3.cxx @@ -71,6 +71,7 @@ #include <ViewClipboard.hxx> #include <sfx2/ipclient.hxx> #include <sfx2/classificationhelper.hxx> +#include <comphelper/sequenceashashmap.hxx> #include <comphelper/storagehelper.hxx> #include <comphelper/processfactory.hxx> #include <tools/stream.hxx> @@ -1317,14 +1318,10 @@ bool View::InsertData( const TransferableDataHelper& rDataHelper, if(!bReturn && pPickObj && CHECK_FORMAT_TRANS( SotClipboardFormatId::XFA ) ) { - ::tools::SvRef<SotStorageStream> xStm; - - if( aDataHelper.GetSotStorageStream( SotClipboardFormatId::XFA, xStm ) ) + uno::Any const data(aDataHelper.GetAny(SotClipboardFormatId::XFA, "")); + uno::Sequence<beans::NamedValue> props; + if (data >>= props) { - XFillExchangeData aFillData( XFillAttrSetItem( &mrDoc.GetPool() ) ); - - ReadXFillExchangeData( *xStm, aFillData ); - if( IsUndoEnabled() ) { BegUndo( SdResId(STR_UNDO_DRAGDROP) ); @@ -1332,15 +1329,27 @@ bool View::InsertData( const TransferableDataHelper& rDataHelper, EndUndo(); } - XFillAttrSetItem* pSetItem = aFillData.GetXFillAttrSetItem(); - SfxItemSet rSet = pSetItem->GetItemSet(); - drawing::FillStyle eFill = rSet.Get( XATTR_FILLSTYLE ).GetValue(); + ::comphelper::SequenceAsHashMap const map(props); + drawing::FillStyle eFill(drawing::FillStyle_BITMAP); // default to something that's ignored + Color aColor(COL_BLACK); + auto it = map.find("FillStyle"); + if (it != map.end()) + { + XFillStyleItem style; + style.PutValue(it->second, 0); + eFill = style.GetValue(); + } + it = map.find("FillColor"); + if (it != map.end()) + { + XFillColorItem color; + color.PutValue(it->second, 0); + aColor = color.GetColorValue(); + } if( eFill == drawing::FillStyle_SOLID || eFill == drawing::FillStyle_NONE ) { - const XFillColorItem& rColItem = rSet.Get( XATTR_FILLCOLOR ); - Color aColor( rColItem.GetColorValue() ); - OUString aName( rColItem.GetName() ); + OUString aName; SfxItemSet aSet( mrDoc.GetPool() ); bool bClosed = pPickObj->IsClosedObj(); ::sd::Window* pWin = mpViewSh->GetActiveWindow(); diff --git a/sot/source/base/exchange.cxx b/sot/source/base/exchange.cxx index e69ae15d8ae8..8dbc5bfd4686 100644 --- a/sot/source/base/exchange.cxx +++ b/sot/source/base/exchange.cxx @@ -72,7 +72,7 @@ namespace /* 11 SotClipboardFormatId::DRAWING*/ { "application/x-openoffice-drawing;windows_formatname=\"Drawing Format\"", "Drawing Format", &cppu::UnoType<Sequence<sal_Int8>>::get() }, /* 12 SotClipboardFormatId::SVXB*/ { "application/x-openoffice-svxb;windows_formatname=\"SVXB (StarView Bitmap/Animation)\"", "SVXB (StarView Bitmap/Animation)", &cppu::UnoType<Sequence<sal_Int8>>::get() }, /* 13 SotClipboardFormatId::SVIM*/ { "application/x-openoffice-svim;windows_formatname=\"SVIM (StarView ImageMap)\"", "SVIM (StarView ImageMap)", &cppu::UnoType<Sequence<sal_Int8>>::get() }, - /* 14 SotClipboardFormatId::XFA*/ { "application/x-openoffice-xfa;windows_formatname=\"XFA (XOutDev FillAttr)\"", "XFA (XOutDev FillAttr)", &cppu::UnoType<Sequence<sal_Int8>>::get() }, + /* 14 SotClipboardFormatId::XFA*/ { "application/x-libreoffice-xfa;windows_formatname=\"XFA (XOutDev FillAttr Any)\"", "XFA (XOutDev FillAttr Any)", &cppu::UnoType<Sequence<sal_Int8>>::get() }, /* 15 SotClipboardFormatId::EDITENGINE_ODF_TEXT_FLAT*/ { "application/vnd.oasis.opendocument.text-flat-xml", "EditEngine ODF", &cppu::UnoType<Sequence<sal_Int8>>::get() }, /* 16 SotClipboardFormatId::INTERNALLINK_STATE*/ { "application/x-openoffice-internallink-state;windows_formatname=\"StatusInfo vom SvxInternalLink\"", "StatusInfo vom SvxInternalLink", &cppu::UnoType<Sequence<sal_Int8>>::get() }, /* 17 SotClipboardFormatId::SOLK*/ { "application/x-openoffice-solk;windows_formatname=\"SOLK (StarOffice Link)\"", "SOLK (StarOffice Link)", &cppu::UnoType<Sequence<sal_Int8>>::get() }, diff --git a/svx/source/tbxctrls/colrctrl.cxx b/svx/source/tbxctrls/colrctrl.cxx index 3a22aa10863f..8f4854fc1d2a 100644 --- a/svx/source/tbxctrls/colrctrl.cxx +++ b/svx/source/tbxctrls/colrctrl.cxx @@ -48,18 +48,18 @@ class SvxColorValueSetData : public TransferableHelper { private: - XFillExchangeData maData; + uno::Sequence<beans::NamedValue> m_Data; protected: virtual void AddSupportedFormats() override; virtual bool GetData( const css::datatransfer::DataFlavor& rFlavor, const OUString& rDestDoc ) override; - virtual bool WriteObject( tools::SvRef<SotStorageStream>& rxOStm, void* pUserObject, sal_uInt32 nUserObjectId, const css::datatransfer::DataFlavor& rFlavor ) override; public: - explicit SvxColorValueSetData( const XFillAttrSetItem& rSetItem ) : - maData( rSetItem ) {} + explicit SvxColorValueSetData(const uno::Sequence<beans::NamedValue>& rProps) + : m_Data(rProps) + {} }; void SvxColorValueSetData::AddSupportedFormats() @@ -73,19 +73,13 @@ bool SvxColorValueSetData::GetData( const css::datatransfer::DataFlavor& rFlavor if( SotExchange::GetFormat( rFlavor ) == SotClipboardFormatId::XFA ) { - SetObject( &maData, 0, rFlavor ); + SetAny(uno::makeAny(m_Data)); bRet = true; } return bRet; } -bool SvxColorValueSetData::WriteObject( tools::SvRef<SotStorageStream>& rxOStm, void*, sal_uInt32, const css::datatransfer::DataFlavor& ) -{ - WriteXFillExchangeData( *rxOStm, maData ); - return( rxOStm->GetError() == ERRCODE_NONE ); -} - SvxColorValueSet_docking::SvxColorValueSet_docking( vcl::Window* _pParent ) : SvxColorValueSet( _pParent, WB_ITEMBORDER ), DragSourceHelper( this ), @@ -149,14 +143,18 @@ void SvxColorValueSet_docking::DoDrag() if( pDocSh && nItemId ) { - XFillAttrSetItem aXFillSetItem( &pDocSh->GetPool() ); - SfxItemSet& rSet = aXFillSetItem.GetItemSet(); - - rSet.Put( XFillColorItem( GetItemText( nItemId ), GetItemColor( nItemId ) ) ); - rSet.Put(XFillStyleItem( ( 1 == nItemId ) ? drawing::FillStyle_NONE : drawing::FillStyle_SOLID ) ); + uno::Sequence<beans::NamedValue> props(2); + XFillColorItem const color(GetItemText(nItemId), GetItemColor(nItemId)); + props[0].Name = "FillColor"; + color.QueryValue(props[0].Value, 0); + XFillStyleItem const style((1 == nItemId) + ? drawing::FillStyle_NONE + : drawing::FillStyle_SOLID); + props[1].Name = "FillStyle"; + style.QueryValue(props[1].Value, 0); EndSelection(); - ( new SvxColorValueSetData( aXFillSetItem ) )->StartDrag( this, DND_ACTION_COPY ); + ( new SvxColorValueSetData(props) )->StartDrag( this, DND_ACTION_COPY ); ReleaseMouse(); } } commit e469d0f81d38ebe61766a6cb49e1a6a8b57ff0cd Author: Michael Stahl <michael.st...@cib.de> AuthorDate: Sat Oct 27 19:56:00 2018 +0200 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Fri Nov 2 10:57:10 2018 +0100 tdf#120376 sd: fix duplicated styles on copy/paste Unfortunately the comparison was inverted, so a style is copied iff it already exists, which is clearly the reviewer's fault... (regression from 57db6e24b5ad43d447c30e44a112c74c7e75b46b) Change-Id: I3425982feb08e980eca9243cc16120897b65a70f Reviewed-on: https://gerrit.libreoffice.org/62436 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@cib.de> (cherry picked from commit be9f3db2306150a37ef18e4ccc8d8f4a1934c5c1) Reviewed-on: https://gerrit.libreoffice.org/62452 Reviewed-by: Armin Le Grand <armin.le.gr...@cib.de> (cherry picked from commit ba5d56afd88ba29ba7f222d15f4b9046011cc38e) diff --git a/sd/source/core/stlpool.cxx b/sd/source/core/stlpool.cxx index c627970fd4e2..aa3d1de8a89a 100644 --- a/sd/source/core/stlpool.cxx +++ b/sd/source/core/stlpool.cxx @@ -652,7 +652,7 @@ void SdStyleSheetPool::CopySheets(SdStyleSheetPool& rSourcePool, SfxStyleFamily pExistingSheet = GetStyleSheetByPositionInIndex(aSheetsWithName.front()).get(); if (!rRenameSuffix.isEmpty() && - pExistingSheet->GetItemSet().Equals(xSheet->GetItemSet(), false)) + !pExistingSheet->GetItemSet().Equals(xSheet->GetItemSet(), false)) { // we have found a sheet with the same name, but different contents. Try to find a new name. // If we already have a sheet with the new name, and it is equal to the one in the source pool, @@ -664,7 +664,8 @@ void SdStyleSheetPool::CopySheets(SdStyleSheetPool& rSourcePool, SfxStyleFamily aTmpName = aName + rRenameSuffix + OUString::number(nSuffix); pExistingSheet = Find(aTmpName, eFamily); nSuffix++; - } while( pExistingSheet && pExistingSheet->GetItemSet().Equals(xSheet->GetItemSet(), false) ); + } while (pExistingSheet && + !pExistingSheet->GetItemSet().Equals(xSheet->GetItemSet(), false)); aName = aTmpName; bAddToList = true; } commit 72f65619cc86f2ef9b83ff3dd0d4cd6018f9b48f Author: Jan-Marek Glogowski <glo...@fbihome.de> AuthorDate: Tue Oct 23 19:42:54 2018 +0000 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Fri Nov 2 10:56:30 2018 +0100 tdf#120807 check for valid ImplGetWindowImpl() Change-Id: Ia1135d11990abc303849bd1b6a549c82008c79de Reviewed-on: https://gerrit.libreoffice.org/62260 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glo...@fbihome.de> (cherry picked from commit db0051744330d82986e8f2629a027bc4a5dc1b4a) Reviewed-on: https://gerrit.libreoffice.org/62280 Reviewed-by: Michael Stahl <michael.st...@cib.de> (cherry picked from commit 6720da69043a5ca206e9feac8396335e7b0af793) diff --git a/vcl/source/window/winproc.cxx b/vcl/source/window/winproc.cxx index 1af261dad9b2..567a8e7330c2 100644 --- a/vcl/source/window/winproc.cxx +++ b/vcl/source/window/winproc.cxx @@ -1076,7 +1076,7 @@ static bool ImplHandleKey( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, } // #105591# send keyinput to parent if we are a floating window and the key was not processed yet - if( !bRet && pWindow->ImplGetWindowImpl()->mbFloatWin && pWindow->GetParent() && (pWindow->ImplGetWindowImpl()->mpFrame != pWindow->GetParent()->ImplGetWindowImpl()->mpFrame) ) + if( !bRet && pWindow->ImplGetWindowImpl() && pWindow->ImplGetWindowImpl()->mbFloatWin && pWindow->GetParent() && (pWindow->ImplGetWindowImpl()->mpFrame != pWindow->GetParent()->ImplGetWindowImpl()->mpFrame) ) { pChild = pWindow->GetParent(); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits