summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--desktop/qa/desktop_lib/test_desktop_lib.cxx83
-rw-r--r--framework/source/loadenv/loadenv.cxx31
-rw-r--r--include/vcl/errinf.hxx3
-rw-r--r--sw/source/core/frmedt/fetab.cxx20
-rw-r--r--uui/source/iahndl.cxx2
-rw-r--r--vcl/source/window/errinf.cxx5
6 files changed, 117 insertions, 27 deletions
diff --git a/desktop/qa/desktop_lib/test_desktop_lib.cxx b/desktop/qa/desktop_lib/test_desktop_lib.cxx
index 3a95e96dbda5..2a995277081a 100644
--- a/desktop/qa/desktop_lib/test_desktop_lib.cxx
+++ b/desktop/qa/desktop_lib/test_desktop_lib.cxx
@@ -282,6 +282,7 @@ void DesktopLOKTest::callbackImpl(int nType, const char* pPayload)
void DesktopLOKTest::testGetStyles()
{
+ comphelper::LibreOfficeKit::setActive();
LibLODocument_Impl* pDocument = loadDoc("blank_text.odt");
boost::property_tree::ptree aTree;
char* pJSON = pDocument->m_pDocumentClass->getCommandValues(pDocument, ".uno:StyleApply");
@@ -311,6 +312,7 @@ void DesktopLOKTest::testGetStyles()
CPPUNIT_FAIL("Unknown style family: " + rPair.first);
}
}
+ comphelper::LibreOfficeKit::setActive(false);
}
void DesktopLOKTest::testGetFonts()
@@ -337,6 +339,7 @@ void DesktopLOKTest::testGetFonts()
void DesktopLOKTest::testCreateView()
{
+ comphelper::LibreOfficeKit::setActive();
LibLODocument_Impl* pDocument = loadDoc("blank_text.odt");
CPPUNIT_ASSERT_EQUAL(1, pDocument->m_pDocumentClass->getViewsCount(pDocument));
@@ -358,10 +361,12 @@ void DesktopLOKTest::testCreateView()
pDocument->m_pDocumentClass->destroyView(pDocument, nId1);
CPPUNIT_ASSERT_EQUAL(1, pDocument->m_pDocumentClass->getViewsCount(pDocument));
+ comphelper::LibreOfficeKit::setActive(false);
}
void DesktopLOKTest::testGetPartPageRectangles()
{
+ comphelper::LibreOfficeKit::setActive();
// Test that we get as many page rectangles as expected: blank document is
// one page.
LibLODocument_Impl* pDocument = loadDoc("blank_text.odt");
@@ -380,10 +385,12 @@ void DesktopLOKTest::testGetPartPageRectangles()
CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), aRectangles.size());
free(pRectangles);
+ comphelper::LibreOfficeKit::setActive(false);
}
void DesktopLOKTest::testGetFilterTypes()
{
+ comphelper::LibreOfficeKit::setActive();
LibLibreOffice_Impl aOffice;
char* pJSON = aOffice.m_pOfficeClass->getFilterTypes(&aOffice);
@@ -394,12 +401,14 @@ void DesktopLOKTest::testGetFilterTypes()
CPPUNIT_ASSERT(aTree.size() > 0);
CPPUNIT_ASSERT_EQUAL(std::string("application/vnd.oasis.opendocument.text"), aTree.get_child("writer8").get_child("MediaType").get_value<std::string>());
free(pJSON);
+ comphelper::LibreOfficeKit::setActive(false);
}
void DesktopLOKTest::testSearchCalc()
{
- LibLibreOffice_Impl aOffice;
comphelper::LibreOfficeKit::setActive();
+
+ LibLibreOffice_Impl aOffice;
LibLODocument_Impl* pDocument = loadDoc("search.ods");
pDocument->pClass->initializeForRendering(pDocument, nullptr);
pDocument->pClass->registerCallback(pDocument, &DesktopLOKTest::callback, this);
@@ -432,8 +441,9 @@ void DesktopLOKTest::testSearchCalc()
void DesktopLOKTest::testSearchAllNotificationsCalc()
{
- LibLibreOffice_Impl aOffice;
comphelper::LibreOfficeKit::setActive();
+
+ LibLibreOffice_Impl aOffice;
LibLODocument_Impl* pDocument = loadDoc("search.ods");
pDocument->pClass->initializeForRendering(pDocument, nullptr);
pDocument->pClass->registerCallback(pDocument, &DesktopLOKTest::callback, this);
@@ -457,6 +467,8 @@ void DesktopLOKTest::testSearchAllNotificationsCalc()
void DesktopLOKTest::testPaintTile()
{
+ comphelper::LibreOfficeKit::setActive();
+
LibLODocument_Impl* pDocument = loadDoc("blank_text.odt");
int nCanvasWidth = 100;
int nCanvasHeight = 300;
@@ -479,27 +491,38 @@ void DesktopLOKTest::testPaintTile()
nTileHeight = 4000;
aBuffer.resize(nCanvasWidth * nCanvasHeight * 4);
pDocument->pClass->paintTile(pDocument, aBuffer.data(), nCanvasWidth, nCanvasHeight, nTilePosX, nTilePosY, nTileWidth, nTileHeight);
+
+ comphelper::LibreOfficeKit::setActive(false);
}
void DesktopLOKTest::testSaveAs()
{
+ comphelper::LibreOfficeKit::setActive();
+
LibLODocument_Impl* pDocument = loadDoc("blank_text.odt");
utl::TempFile aTempFile;
aTempFile.EnableKillingFile();
CPPUNIT_ASSERT(pDocument->pClass->saveAs(pDocument, aTempFile.GetURL().toUtf8().getStr(), "png", nullptr));
+
+ comphelper::LibreOfficeKit::setActive(false);
}
void DesktopLOKTest::testSaveAsCalc()
{
+ comphelper::LibreOfficeKit::setActive();
+
LibLODocument_Impl* pDocument = loadDoc("search.ods");
utl::TempFile aTempFile;
aTempFile.EnableKillingFile();
CPPUNIT_ASSERT(pDocument->pClass->saveAs(pDocument, aTempFile.GetURL().toUtf8().getStr(), "png", nullptr));
+
+ comphelper::LibreOfficeKit::setActive(false);
}
void DesktopLOKTest::testPasteWriter()
{
comphelper::LibreOfficeKit::setActive();
+
LibLODocument_Impl* pDocument = loadDoc("blank_text.odt");
OString aText("hello");
@@ -521,6 +544,7 @@ void DesktopLOKTest::testPasteWriter()
void DesktopLOKTest::testPasteWriterJPEG()
{
comphelper::LibreOfficeKit::setActive();
+
LibLODocument_Impl* pDocument = loadDoc("blank_text.odt");
OUString aFileURL;
@@ -557,6 +581,7 @@ void DesktopLOKTest::testUndoWriter()
{
// Load a Writer document and press a key.
comphelper::LibreOfficeKit::setActive();
+
LibLODocument_Impl* pDocument = loadDoc("blank_text.odt");
pDocument->pClass->postKeyEvent(pDocument, LOK_KEYEVENT_KEYINPUT, 't', 0);
pDocument->pClass->postKeyEvent(pDocument, LOK_KEYEVENT_KEYUP, 't', 0);
@@ -605,6 +630,8 @@ void DesktopLOKTest::testRowColumnHeaders()
* "size" defines the bottom/right boundary of a row/column in twips (size between 0 and boundary)
* "text" has the header label in UTF-8
*/
+ comphelper::LibreOfficeKit::setActive();
+
LibLODocument_Impl* pDocument = loadDoc("search.ods");
pDocument->pClass->initializeForRendering(pDocument, nullptr);
@@ -682,10 +709,14 @@ void DesktopLOKTest::testRowColumnHeaders()
nPrevious = nSize;
}
CPPUNIT_ASSERT(!bNotEnoughHeaders);
+
+ comphelper::LibreOfficeKit::setActive(false);
}
void DesktopLOKTest::testHiddenRowHeaders()
{
+ comphelper::LibreOfficeKit::setActive();
+
LibLODocument_Impl* pDocument = loadDoc("hidden-row.ods");
pDocument->pClass->initializeForRendering(pDocument, nullptr);
@@ -720,10 +751,13 @@ void DesktopLOKTest::testHiddenRowHeaders()
}
nPrevious = nSize;
}
+ comphelper::LibreOfficeKit::setActive(false);
}
void DesktopLOKTest::testCellCursor()
{
+ comphelper::LibreOfficeKit::setActive();
+
LibLODocument_Impl* pDocument = loadDoc("search.ods");
boost::property_tree::ptree aTree;
@@ -738,10 +772,14 @@ void DesktopLOKTest::testCellCursor()
OString aRectangle(aTree.get<std::string>("commandValues").c_str());
CPPUNIT_ASSERT_EQUAL(OString("0, 0, 1279, 255"), aRectangle);
+
+ comphelper::LibreOfficeKit::setActive(false);
}
void DesktopLOKTest::testCommandResult()
{
+ comphelper::LibreOfficeKit::setActive();
+
LibLODocument_Impl* pDocument = loadDoc("blank_text.odt");
// the postUnoCommand() is supposed to be async, let's test it safely
@@ -772,11 +810,14 @@ void DesktopLOKTest::testCommandResult()
CPPUNIT_ASSERT_EQUAL(aTree.get_child("commandName").get_value<std::string>(), std::string(".uno:Bold"));
CPPUNIT_ASSERT_EQUAL(aTree.get_child("success").get_value<bool>(), true);
+
+ comphelper::LibreOfficeKit::setActive(false);
}
void DesktopLOKTest::testWriterComments()
{
comphelper::LibreOfficeKit::setActive();
+
LibLODocument_Impl* pDocument = loadDoc("blank_text.odt");
pDocument->pClass->registerCallback(pDocument, &DesktopLOKTest::callback, this);
uno::Reference<awt::XReschedule> xToolkit(com::sun::star::awt::Toolkit::create(comphelper::getProcessComponentContext()), uno::UNO_QUERY);
@@ -817,9 +858,10 @@ void DesktopLOKTest::testWriterComments()
void DesktopLOKTest::testTrackChanges()
{
+ comphelper::LibreOfficeKit::setActive();
+
// Load a document and create two views.
LibLibreOffice_Impl aOffice;
- comphelper::LibreOfficeKit::setActive();
LibLODocument_Impl* pDocument = loadDoc("blank_text.odt");
pDocument->pClass->initializeForRendering(pDocument, nullptr);
pDocument->pClass->registerCallback(pDocument, &DesktopLOKTest::callback, this);
@@ -841,6 +883,7 @@ void DesktopLOKTest::testTrackChanges()
void DesktopLOKTest::testSheetOperations()
{
comphelper::LibreOfficeKit::setActive();
+
LibLODocument_Impl* pDocument = loadDoc("sheets.ods");
// insert the last sheet
@@ -873,6 +916,7 @@ void DesktopLOKTest::testSheetOperations()
void DesktopLOKTest::testSheetSelections()
{
comphelper::LibreOfficeKit::setActive();
+
LibLODocument_Impl* pDocument = loadDoc("sheets.ods", LOK_DOCTYPE_SPREADSHEET);
pDocument->pClass->initializeForRendering(pDocument, nullptr);
pDocument->pClass->registerCallback(pDocument, &DesktopLOKTest::callback, this);
@@ -1053,6 +1097,7 @@ namespace {
void DesktopLOKTest::testContextMenuCalc()
{
comphelper::LibreOfficeKit::setActive();
+
LibLODocument_Impl* pDocument = loadDoc("sheet_with_image.ods", LOK_DOCTYPE_SPREADSHEET);
pDocument->pClass->initializeForRendering(pDocument, nullptr);
pDocument->pClass->registerCallback(pDocument, &DesktopLOKTest::callback, this);
@@ -1164,6 +1209,7 @@ void DesktopLOKTest::testContextMenuCalc()
void DesktopLOKTest::testContextMenuWriter()
{
comphelper::LibreOfficeKit::setActive();
+
LibLODocument_Impl* pDocument = loadDoc("blank_text.odt");
pDocument->pClass->initializeForRendering(pDocument, nullptr);
pDocument->pClass->registerCallback(pDocument, &DesktopLOKTest::callback, this);
@@ -1220,6 +1266,7 @@ void DesktopLOKTest::testContextMenuWriter()
void DesktopLOKTest::testContextMenuImpress()
{
comphelper::LibreOfficeKit::setActive();
+
LibLODocument_Impl* pDocument = loadDoc("blank_presentation.odp", LOK_DOCTYPE_PRESENTATION);
pDocument->pClass->initializeForRendering(pDocument, nullptr);
pDocument->pClass->registerCallback(pDocument, &DesktopLOKTest::callback, this);
@@ -1351,6 +1398,8 @@ static void callbackCompressionTest(const int type, const char* payload, void* d
void DesktopLOKTest::testNotificationCompression()
{
+ comphelper::LibreOfficeKit::setActive();
+
LibLODocument_Impl* pDocument = loadDoc("blank_text.odt");
std::vector<std::tuple<int, std::string>> notifs;
std::unique_ptr<CallbackFlushHandler> handler(new CallbackFlushHandler(pDocument, callbackCompressionTest, &notifs));
@@ -1433,10 +1482,14 @@ void DesktopLOKTest::testNotificationCompression()
CPPUNIT_ASSERT_EQUAL((int)LOK_CALLBACK_STATE_CHANGED, std::get<0>(notifs[i]));
CPPUNIT_ASSERT_EQUAL(std::string(".uno:AssignLayout=1"), std::get<1>(notifs[i++]));
+
+ comphelper::LibreOfficeKit::setActive(false);
}
void DesktopLOKTest::testTileInvalidationCompression()
{
+ comphelper::LibreOfficeKit::setActive();
+
LibLODocument_Impl* pDocument = loadDoc("blank_text.odt");
comphelper::LibreOfficeKit::setPartInInvalidation(true);
@@ -1568,10 +1621,14 @@ void DesktopLOKTest::testTileInvalidationCompression()
CPPUNIT_ASSERT_EQUAL((int)LOK_CALLBACK_INVALIDATE_TILES, std::get<0>(notifs[i]));
CPPUNIT_ASSERT_EQUAL(std::string("0, 0, 1000000000, 1000000000, 0"), std::get<1>(notifs[i++]));
}
+
+ comphelper::LibreOfficeKit::setActive(false);
}
void DesktopLOKTest::testPartInInvalidation()
{
+ comphelper::LibreOfficeKit::setActive();
+
LibLODocument_Impl* pDocument = loadDoc("blank_text.odt");
// No part in invalidation: merge.
{
@@ -1639,12 +1696,15 @@ void DesktopLOKTest::testPartInInvalidation()
// payload, so this was merged -> it was 1.
CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(2), notifs.size());
}
+
+ comphelper::LibreOfficeKit::setActive(false);
}
void DesktopLOKTest::testRedlineWriter()
{
- // Load a Writer document, enable change recording and press a key.
comphelper::LibreOfficeKit::setActive();
+
+ // Load a Writer document, enable change recording and press a key.
LibLODocument_Impl* pDocument = loadDoc("blank_text.odt");
uno::Reference<beans::XPropertySet> xPropertySet(mxComponent, uno::UNO_QUERY);
xPropertySet->setPropertyValue("RecordChanges", uno::makeAny(true));
@@ -1674,6 +1734,7 @@ void DesktopLOKTest::testRedlineCalc()
{
// Load a Writer document, enable change recording and press a key.
comphelper::LibreOfficeKit::setActive();
+
LibLODocument_Impl* pDocument = loadDoc("sheets.ods");
uno::Reference<beans::XPropertySet> xPropertySet(mxComponent, uno::UNO_QUERY);
xPropertySet->setPropertyValue("RecordChanges", uno::makeAny(true));
@@ -1754,6 +1815,7 @@ void DesktopLOKTest::testPaintPartTile()
{
// Load an impress doc of 2 slides.
comphelper::LibreOfficeKit::setActive();
+
ViewCallback aView1;
ViewCallback aView2;
std::unique_ptr<LibLODocument_Impl> xDocument(loadDoc("2slides.odp"));
@@ -1793,6 +1855,7 @@ void DesktopLOKTest::testPaintPartTile()
Scheduler::ProcessEventsToIdle();
mxComponent.clear();
+
comphelper::LibreOfficeKit::setActive(false);
}
@@ -1800,6 +1863,7 @@ void DesktopLOKTest::testWriterCommentInsertCursor()
{
// Load a document and type a character into the body text of the second view.
comphelper::LibreOfficeKit::setActive();
+
ViewCallback aView1;
ViewCallback aView2;
std::unique_ptr<LibLODocument_Impl> xDocument(loadDoc("blank_text.odt"));
@@ -1833,6 +1897,7 @@ void DesktopLOKTest::testWriterCommentInsertCursor()
Scheduler::ProcessEventsToIdle();
mxComponent.clear();
+
comphelper::LibreOfficeKit::setActive(false);
}
@@ -1840,6 +1905,7 @@ void DesktopLOKTest::testWriterCommentInsertCursor()
void DesktopLOKTest::testGetFontSubset()
{
comphelper::LibreOfficeKit::setActive();
+
LibLODocument_Impl* pDocument = loadDoc("blank_text.odt");
OUString aFontName = rtl::Uri::encode(
OUString("Liberation Sans"),
@@ -1857,6 +1923,7 @@ void DesktopLOKTest::testGetFontSubset()
boost::property_tree::ptree aValues = aTree.get_child("commandValues");
CPPUNIT_ASSERT( aValues.size() > 0 );
free(pJSON);
+
comphelper::LibreOfficeKit::setActive(false);
}
#endif
@@ -2114,6 +2181,8 @@ void DesktopLOKTest::testCommentsCallbacksWriter()
void DesktopLOKTest::testRunMacro()
{
+ comphelper::LibreOfficeKit::setActive();
+
LibLibreOffice_Impl aOffice;
bool bGoodMacro, bNonExistentMacro;
@@ -2123,10 +2192,14 @@ void DesktopLOKTest::testRunMacro()
bNonExistentMacro = aOffice.m_pOfficeClass->runMacro(&aOffice, OString("macro:///I.Am.Not(There)").getStr());
CPPUNIT_ASSERT(!bNonExistentMacro);
+
+ comphelper::LibreOfficeKit::setActive(false);
}
void DesktopLOKTest::testExtractParameter()
{
+ comphelper::LibreOfficeKit::setActive();
+
OUString aOptions("Language=de-DE");
OUString aValue = extractParameter(aOptions, "Language");
CPPUNIT_ASSERT_EQUAL(OUString("de-DE"), aValue);
@@ -2151,6 +2224,8 @@ void DesktopLOKTest::testExtractParameter()
aValue = extractParameter(aOptions, "Language");
CPPUNIT_ASSERT_EQUAL(OUString(), aValue);
CPPUNIT_ASSERT_EQUAL(OUString("Something1,Something2=blah,Something3"), aOptions);
+
+ comphelper::LibreOfficeKit::setActive(false);
}
CPPUNIT_TEST_SUITE_REGISTRATION(DesktopLOKTest);
diff --git a/framework/source/loadenv/loadenv.cxx b/framework/source/loadenv/loadenv.cxx
index 3bfd87e3244c..b76f13ef8c66 100644
--- a/framework/source/loadenv/loadenv.cxx
+++ b/framework/source/loadenv/loadenv.cxx
@@ -1042,17 +1042,32 @@ bool LoadEnv::impl_loadContent()
bool bHidden = m_lMediaDescriptor.getUnpackedValueOrDefault(utl::MediaDescriptor::PROP_HIDDEN(), false);
bool bMinimized = m_lMediaDescriptor.getUnpackedValueOrDefault(utl::MediaDescriptor::PROP_MINIMIZED(), false);
bool bPreview = m_lMediaDescriptor.getUnpackedValueOrDefault(utl::MediaDescriptor::PROP_PREVIEW(), false);
- css::uno::Reference< css::task::XStatusIndicator > xProgress = m_lMediaDescriptor.getUnpackedValueOrDefault(utl::MediaDescriptor::PROP_STATUSINDICATOR(), css::uno::Reference< css::task::XStatusIndicator >());
- if (!bHidden && !bMinimized && !bPreview && !xProgress.is())
+ if (!bHidden && !bMinimized && !bPreview)
{
- // Note: it's an optional interface!
- css::uno::Reference< css::task::XStatusIndicatorFactory > xProgressFactory(xTargetFrame, css::uno::UNO_QUERY);
- if (xProgressFactory.is())
+ css::uno::Reference< css::task::XStatusIndicator > xProgress = m_lMediaDescriptor.getUnpackedValueOrDefault(utl::MediaDescriptor::PROP_STATUSINDICATOR(), css::uno::Reference< css::task::XStatusIndicator >());
+ if (!xProgress.is())
{
- xProgress = xProgressFactory->createStatusIndicator();
- if (xProgress.is())
- m_lMediaDescriptor[utl::MediaDescriptor::PROP_STATUSINDICATOR()] <<= xProgress;
+ // Note: it's an optional interface!
+ css::uno::Reference< css::task::XStatusIndicatorFactory > xProgressFactory(xTargetFrame, css::uno::UNO_QUERY);
+ if (xProgressFactory.is())
+ {
+ xProgress = xProgressFactory->createStatusIndicator();
+ if (xProgress.is())
+ m_lMediaDescriptor[utl::MediaDescriptor::PROP_STATUSINDICATOR()] <<= xProgress;
+ }
+ }
+ if (!comphelper::LibreOfficeKit::isActive())
+ {
+ //now that we have a window, set things up so that warnings dialogs are relative to that window
+ css::uno::Reference<css::task::XInteractionHandler> xInteractionHandler(
+ task::InteractionHandler::createWithParent(m_xContext, xTargetFrame->getContainerWindow()),
+ css::uno::UNO_QUERY);
+ if (xInteractionHandler.is())
+ {
+ m_lMediaDescriptor[utl::MediaDescriptor::PROP_INTERACTIONHANDLER()] <<= xInteractionHandler;
+ m_lMediaDescriptor[utl::MediaDescriptor::PROP_AUTHENTICATIONHANDLER()] <<= xInteractionHandler;
+ }
}
}
diff --git a/include/vcl/errinf.hxx b/include/vcl/errinf.hxx
index 428a46eb72e4..4a3990b237ef 100644
--- a/include/vcl/errinf.hxx
+++ b/include/vcl/errinf.hxx
@@ -125,11 +125,12 @@ public:
4. Default ButtonsOk, MessageError
@param nErrCodeId error id
+ @param pParent parent window the error dialog will be modal for. nullptr for unrecommended "pick default"
@param nFlags error flags.
@return what sort of dialog to use, with what buttons
*/
- static DialogMask HandleError(ErrCode nId, DialogMask nMask = DialogMask::MAX);
+ static DialogMask HandleError(ErrCode nId, vcl::Window* pParent = nullptr, DialogMask nMask = DialogMask::MAX);
static bool GetErrorString(ErrCode nId, OUString& rStr);
protected:
diff --git a/sw/source/core/frmedt/fetab.cxx b/sw/source/core/frmedt/fetab.cxx
index 40326b03de8f..a7a64db7d461 100644
--- a/sw/source/core/frmedt/fetab.cxx
+++ b/sw/source/core/frmedt/fetab.cxx
@@ -189,7 +189,7 @@ bool SwFEShell::InsertRow( sal_uInt16 nCnt, bool bBehind )
if( dynamic_cast< const SwDDETable* >(pFrame->ImplFindTabFrame()->GetTable()) != nullptr )
{
- ErrorHandler::HandleError( ERR_TBLDDECHG_ERROR,
+ ErrorHandler::HandleError( ERR_TBLDDECHG_ERROR, GetWin(),
DialogMask::MessageInfo | DialogMask::ButtonDefaultsOk );
return false;
}
@@ -230,7 +230,7 @@ bool SwFEShell::InsertCol( sal_uInt16 nCnt, bool bBehind )
if( dynamic_cast< const SwDDETable* >(pFrame->ImplFindTabFrame()->GetTable()) != nullptr )
{
- ErrorHandler::HandleError( ERR_TBLDDECHG_ERROR,
+ ErrorHandler::HandleError( ERR_TBLDDECHG_ERROR, GetWin(),
DialogMask::MessageInfo | DialogMask::ButtonDefaultsOk );
return false;
}
@@ -239,7 +239,7 @@ bool SwFEShell::InsertCol( sal_uInt16 nCnt, bool bBehind )
if( !CheckSplitCells( *this, nCnt + 1, SwTableSearchType::Col ) )
{
- ErrorHandler::HandleError( ERR_TBLINSCOL_ERROR,
+ ErrorHandler::HandleError( ERR_TBLINSCOL_ERROR, GetWin(),
DialogMask::MessageInfo | DialogMask::ButtonDefaultsOk );
return false;
}
@@ -285,7 +285,7 @@ bool SwFEShell::DeleteCol()
if( dynamic_cast< const SwDDETable* >(pFrame->ImplFindTabFrame()->GetTable()) != nullptr )
{
- ErrorHandler::HandleError( ERR_TBLDDECHG_ERROR,
+ ErrorHandler::HandleError( ERR_TBLDDECHG_ERROR, GetWin(),
DialogMask::MessageInfo | DialogMask::ButtonDefaultsOk );
return false;
}
@@ -336,7 +336,7 @@ bool SwFEShell::DeleteRow(bool bCompleteTable)
if( dynamic_cast< const SwDDETable* >(pFrame->ImplFindTabFrame()->GetTable()) != nullptr )
{
- ErrorHandler::HandleError( ERR_TBLDDECHG_ERROR,
+ ErrorHandler::HandleError( ERR_TBLDDECHG_ERROR, GetWin(),
DialogMask::MessageInfo | DialogMask::ButtonDefaultsOk );
return false;
}
@@ -455,7 +455,7 @@ TableMergeErr SwFEShell::MergeTab()
const SwTableNode* pTableNd = pTableCursor->GetNode().FindTableNode();
if( dynamic_cast< const SwDDETable* >(&pTableNd->GetTable()) != nullptr )
{
- ErrorHandler::HandleError( ERR_TBLDDECHG_ERROR,
+ ErrorHandler::HandleError( ERR_TBLDDECHG_ERROR, GetWin(),
DialogMask::MessageInfo | DialogMask::ButtonDefaultsOk );
}
else
@@ -486,7 +486,7 @@ bool SwFEShell::SplitTab( bool bVert, sal_uInt16 nCnt, bool bSameHeight )
if( dynamic_cast< const SwDDETable* >(pFrame->ImplFindTabFrame()->GetTable()) != nullptr )
{
- ErrorHandler::HandleError( ERR_TBLDDECHG_ERROR,
+ ErrorHandler::HandleError( ERR_TBLDDECHG_ERROR, GetWin(),
DialogMask::MessageInfo | DialogMask::ButtonDefaultsOk );
return false;
}
@@ -495,7 +495,7 @@ bool SwFEShell::SplitTab( bool bVert, sal_uInt16 nCnt, bool bSameHeight )
if( bVert && !CheckSplitCells( *this, nCnt + 1 ) )
{
- ErrorHandler::HandleError( ERR_TBLSPLIT_ERROR,
+ ErrorHandler::HandleError( ERR_TBLSPLIT_ERROR, GetWin(),
DialogMask::MessageInfo | DialogMask::ButtonDefaultsOk );
return false;
}
@@ -1295,7 +1295,7 @@ bool SwFEShell::DeleteTableSel()
if( dynamic_cast< const SwDDETable* >(pFrame->ImplFindTabFrame()->GetTable()) != nullptr )
{
- ErrorHandler::HandleError( ERR_TBLDDECHG_ERROR,
+ ErrorHandler::HandleError( ERR_TBLDDECHG_ERROR, GetWin(),
DialogMask::MessageInfo | DialogMask::ButtonDefaultsOk );
return false;
}
@@ -2161,7 +2161,7 @@ bool SwFEShell::SetColRowWidthHeight( TableChgWidthHeightType eType, sal_uInt16
if( (TableChgWidthHeightType::InsertDeleteMode & eType) &&
dynamic_cast< const SwDDETable* >(pFrame->ImplFindTabFrame()->GetTable()) != nullptr )
{
- ErrorHandler::HandleError( ERR_TBLDDECHG_ERROR,
+ ErrorHandler::HandleError( ERR_TBLDDECHG_ERROR, GetWin(),
DialogMask::MessageInfo | DialogMask::ButtonDefaultsOk );
return false;
}
diff --git a/uui/source/iahndl.cxx b/uui/source/iahndl.cxx
index 27a10becaf88..e2ce02c659d5 100644
--- a/uui/source/iahndl.cxx
+++ b/uui/source/iahndl.cxx
@@ -1111,7 +1111,7 @@ UUIInteractionHelper::handleGenericErrorRequest(
executeMessageBox(getParentProperty(), aTitle, aErrorString, MessBoxStyle::Ok);
}
else
- ErrorHandler::HandleError(nErrorCode);
+ ErrorHandler::HandleError(nErrorCode, getParentProperty());
if (xApprove.is() && bWarning)
xApprove->select();
diff --git a/vcl/source/window/errinf.cxx b/vcl/source/window/errinf.cxx
index 40849ca916e1..00a99f420b01 100644
--- a/vcl/source/window/errinf.cxx
+++ b/vcl/source/window/errinf.cxx
@@ -108,13 +108,12 @@ bool ErrorHandler::GetErrorString(ErrCode nErrCodeId, OUString& rErrStr)
return false;
}
-DialogMask ErrorHandler::HandleError(ErrCode nErrCodeId, DialogMask nFlags)
+DialogMask ErrorHandler::HandleError(ErrCode nErrCodeId, vcl::Window *pParent, DialogMask nFlags)
{
if (nErrCodeId == ERRCODE_NONE || nErrCodeId == ERRCODE_ABORT)
return DialogMask::NONE;
ErrorRegistry &rData = TheErrorRegistry::get();
- vcl::Window *pParent = nullptr;
ErrorInfo *pInfo = ErrorInfo::GetErrorInfo(nErrCodeId);
OUString aAction;
@@ -126,7 +125,7 @@ DialogMask ErrorHandler::HandleError(ErrCode nErrCodeId, DialogMask nFlags)
{
if(pCtx->GetParent())
{
- pParent=pCtx->GetParent();
+ pParent = pCtx->GetParent();
break;
}
}