include/sfx2/opengrf.hxx             |    2 +
 include/vcl/toolkit/treelistbox.hxx  |    4 +++
 sc/source/core/data/document.cxx     |    1 
 sc/source/ui/drawfunc/fuins1.cxx     |    9 ++++++++
 sc/source/ui/view/tabvwshf.cxx       |   12 +++++++++--
 sd/inc/sdgrffilter.hxx               |    3 +-
 sd/source/filter/grf/sdgrffilter.cxx |   12 ++++++-----
 sd/source/ui/func/fuinsert.cxx       |    7 +++---
 sfx2/source/appl/opengrf.cxx         |   28 ++++++++++++-------------
 starmath/source/ooxmlimport.cxx      |    6 +++--
 sw/source/uibase/uiview/view2.cxx    |   38 +++++++++++++++++------------------
 vcl/jsdialog/jsdialogbuilder.cxx     |    1 
 vcl/source/app/salvtables.cxx        |    1 
 vcl/source/treelist/svtabbx.cxx      |    2 +
 vcl/source/treelist/treelistbox.cxx  |    1 
 15 files changed, 81 insertions(+), 46 deletions(-)

New commits:
commit 4281a73a37d13fe7f474dc9528f043e50d9addcd
Author:     Pranam Lashkari <[email protected]>
AuthorDate: Wed Dec 24 18:15:27 2025 +0530
Commit:     Andras Timar <[email protected]>
CommitDate: Wed Jan 7 16:08:11 2026 +0100

    tdf#162972 math: special treatment for apostrophe(') in MSO
    
    problem:
    in MSO is only apostrophe is in superscript, MSO treats it as normal text
    
    i.e: in question 2' ^' both apostrophe will be displayed on same level
    
    Change-Id: Idc1eb144115ed0cb51c18a76b6d8b9423eb5e910
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196198
    Reviewed-by: Caolán McNamara <[email protected]>
    Tested-by: Jenkins CollaboraOffice <[email protected]>
    Tested-by: Caolán McNamara <[email protected]>

diff --git a/starmath/source/ooxmlimport.cxx b/starmath/source/ooxmlimport.cxx
index 2de300649fbb..6fe2e367f40f 100644
--- a/starmath/source/ooxmlimport.cxx
+++ b/starmath/source/ooxmlimport.cxx
@@ -708,6 +708,8 @@ OUString SmOoxmlImport::handleSsup()
     OUString e = readOMathArgInElement( M_TOKEN( e ));
     OUString sup = readOMathArgInElement( M_TOKEN( sup ));
     m_rStream.ensureClosingTag( M_TOKEN( sSup ));
+    if (sup == "'")
+        return "{" + e + "} {" + sup + "}";
     return "{" + e + "} ^ {" + sup + "}";
 }
 
commit b9bfee3d3a6fa47797b5b3e2db0164f84787f454
Author:     Pranam Lashkari <[email protected]>
AuthorDate: Wed Dec 24 18:06:09 2025 +0530
Commit:     Andras Timar <[email protected]>
CommitDate: Wed Jan 7 16:08:06 2026 +0100

    math: allow equestions to end without opening brackets
    
    problem:
    some user complained equation not rendering correctly
    if it ended with opening brackets while it worked fine in MSO
    
    i.e: [0;+∞[
    
    Change-Id: Iccfbfd0782379985736cdc181479f167ca0beb95
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196197
    Reviewed-by: Caolán McNamara <[email protected]>
    Tested-by: Caolán McNamara <[email protected]>
    Tested-by: Jenkins CollaboraOffice <[email protected]>

diff --git a/starmath/source/ooxmlimport.cxx b/starmath/source/ooxmlimport.cxx
index d5964a2279a1..2de300649fbb 100644
--- a/starmath/source/ooxmlimport.cxx
+++ b/starmath/source/ooxmlimport.cxx
@@ -347,9 +347,9 @@ OUString SmOoxmlImport::handleD()
         || closing == OUStringChar(MS_RMATHANGLE))
         closing = " right rangle";
     // use scalable brackets (the explicit "left" or "right")
-    if( opening == "(" || opening == "[" )
+    if( opening == "(" || opening == "[" || opening == ")" || opening == "]" )
         opening = "left " + opening;
-    if( closing == ")" || closing == "]" )
+    if( closing == ")" || closing == "]" || closing == "(" || closing == "[")
         closing = " right " + closing;
     if( separator == "|" ) // plain "|" would be actually "V" (logical or)
         separator = " mline ";
commit 0785e2885c8197977a0beb8d66c7d3855c62cb7f
Author:     Pranam Lashkari <[email protected]>
AuthorDate: Tue Dec 9 22:10:23 2025 +0530
Commit:     Andras Timar <[email protected]>
CommitDate: Wed Jan 7 16:07:55 2026 +0100

    jsdialog: allow treelist lazy loading
    
    mark entries visible and update jsdialogs when
    treelists are scrolled and new entries are visible
    
    Change-Id: I0c54cd2ae5473b6148f7d20c0b083066e28450e0
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195318
    Tested-by: Caolán McNamara <[email protected]>
    Reviewed-by: Caolán McNamara <[email protected]>

diff --git a/include/vcl/toolkit/treelistbox.hxx 
b/include/vcl/toolkit/treelistbox.hxx
index 22a995a35178..05ec021042fa 100644
--- a/include/vcl/toolkit/treelistbox.hxx
+++ b/include/vcl/toolkit/treelistbox.hxx
@@ -218,6 +218,7 @@ class UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC) SvTreeListBox
     bool mbContextBmpExpanded;
     bool mbQuickSearch; // Enables type-ahead search in the check list box.
     bool mbActivateOnSingleClick; // Make single click "activate" a row like a 
double-click normally does
+    bool mbCustomEntryRenderer; // Used to define if the list entries are 
updated on demand
     bool mbHoverSelection; // Make mouse over a row "select" a row like a 
single-click normally does
     bool mbSelectingByHover; // true during "Select" if it was due to hover
     bool mbIsTextColumEnabled; // true if the property name text-column is 
enabled
@@ -664,6 +665,9 @@ public:
     void            SetActivateOnSingleClick(bool bEnable) { 
mbActivateOnSingleClick = bEnable; }
     bool            GetActivateOnSingleClick() const { return 
mbActivateOnSingleClick; }
 
+    void            SetCustomEntryRenderer(bool bEnable) { 
mbCustomEntryRenderer = bEnable; }
+    bool            GetCustomEntryRenderer() const { return 
mbCustomEntryRenderer; }
+
     // Make mouse over a row "select" a row like a single-click normally does
     void            SetHoverSelection(bool bEnable) { mbHoverSelection = 
bEnable; }
     bool            GetHoverSelection() const { return mbHoverSelection; }
diff --git a/vcl/jsdialog/jsdialogbuilder.cxx b/vcl/jsdialog/jsdialogbuilder.cxx
index 968a762b9b21..52e7cf8419f6 100644
--- a/vcl/jsdialog/jsdialogbuilder.cxx
+++ b/vcl/jsdialog/jsdialogbuilder.cxx
@@ -1887,6 +1887,7 @@ void JSTreeView::render_entry(int pos, int dpix, int dpiy)
 
     Size aRenderSize = signal_custom_get_size(*pDevice, get_id(pos));
     pDevice->SetOutputSize(aRenderSize);
+    m_xTreeView->MakeVisible(pEntry);
     m_xTreeView->DrawCustomEntry(*pDevice, tools::Rectangle(Point(0, 0), 
aRenderSize), *pEntry);
 
     Bitmap aImage = pDevice->GetBitmap(Point(0, 0), aRenderSize);
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index 5f7abc62d94b..7b07bc9b62f9 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -4790,6 +4790,7 @@ void SalInstanceTreeView::visible_foreach(const 
std::function<bool(weld::TreeIte
 
 void SalInstanceTreeView::connect_visible_range_changed(const 
Link<weld::TreeView&, void>& rLink)
 {
+    m_xTreeView->SetCustomEntryRenderer(true);
     weld::TreeView::connect_visible_range_changed(rLink);
     m_xTreeView->SetScrolledHdl(LINK(this, SalInstanceTreeView, 
VisibleRangeChangedHdl));
 }
diff --git a/vcl/source/treelist/svtabbx.cxx b/vcl/source/treelist/svtabbx.cxx
index 07b3b3d94ae7..e2eda4ebe94e 100644
--- a/vcl/source/treelist/svtabbx.cxx
+++ b/vcl/source/treelist/svtabbx.cxx
@@ -217,6 +217,8 @@ void SvTabListBox::DumpAsPropertyTree(tools::JsonWriter& 
rJsonWriter)
     }
 
     rJsonWriter.put("checkboxtype", checkboxtype);
+    if (GetCustomEntryRenderer())
+        rJsonWriter.put("customEntryRenderer", true);
     auto entriesNode = rJsonWriter.startArray("entries");
     lcl_DumpEntryAndSiblings(rJsonWriter, First(), this, bCheckButtons);
 }
diff --git a/vcl/source/treelist/treelistbox.cxx 
b/vcl/source/treelist/treelistbox.cxx
index 1ebe7f643343..a0259a4036af 100644
--- a/vcl/source/treelist/treelistbox.cxx
+++ b/vcl/source/treelist/treelistbox.cxx
@@ -406,6 +406,7 @@ SvTreeListBox::SvTreeListBox(vcl::Window* pParent, WinBits 
nWinStyle) :
     mbContextBmpExpanded(false),
     mbQuickSearch(false),
     mbActivateOnSingleClick(false),
+    mbCustomEntryRenderer(false),
     mbHoverSelection(false),
     mbSelectingByHover(false),
     mbIsTextColumEnabled(false),
commit 3b9db45691346ea96e08b2766cb4c57e9ed8ee88
Author:     Pranam Lashkari <[email protected]>
AuthorDate: Fri Nov 28 21:55:06 2025 +0530
Commit:     Andras Timar <[email protected]>
CommitDate: Wed Jan 7 16:07:46 2026 +0100

    LOK: show warning/error dialogs
    
    show error dialog when invalid images are inserted (calc, impress)
    
    part 2 of 70d8195a2b72440fe929e4e3761d1f1d5ace0096
    
    problem:
    when inserted and image in calc or impress, and image format is incorrect
    or not supported (i.e: .txt, .heic) then LOK did not get any failure 
messages
    
    Change-Id: I8af0cd5cf360574c116e6383ada170e32e317d12
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194801
    Tested-by: Jenkins CollaboraOffice <[email protected]>
    Reviewed-by: Pranam Lashkari <[email protected]>

diff --git a/include/sfx2/opengrf.hxx b/include/sfx2/opengrf.hxx
index 4546fbabc726..94fed4e4b52e 100644
--- a/include/sfx2/opengrf.hxx
+++ b/include/sfx2/opengrf.hxx
@@ -22,6 +22,7 @@
 #include <sfx2/dllapi.h>
 #include <rtl/ustring.hxx>
 #include <comphelper/errcode.hxx>
+#include <unotools/resmgr.hxx>
 
 namespace com::sun::star::ui::dialogs { class XFilePickerControlAccess; }
 namespace com::sun::star::uno { template <class interface_type> class 
Reference; }
@@ -58,6 +59,7 @@ public:
     void                    SetDetectedFilter(const OUString&);
 
     css::uno::Reference<css::ui::dialogs::XFilePickerControlAccess> const & 
GetFilePickerControlAccess() const;
+    static TranslateId SvxOpenGrfErr2ResId(ErrCode err);
 
 private:
     SvxOpenGraphicDialog    (const SvxOpenGraphicDialog&) = delete;
diff --git a/sc/source/ui/drawfunc/fuins1.cxx b/sc/source/ui/drawfunc/fuins1.cxx
index d9a1d83568c3..f97f36fcc1c2 100644
--- a/sc/source/ui/drawfunc/fuins1.cxx
+++ b/sc/source/ui/drawfunc/fuins1.cxx
@@ -25,6 +25,7 @@
 #include <sfx2/lokhelper.hxx>
 #include <sfx2/opengrf.hxx>
 #include <sfx2/viewfrm.hxx>
+#include <sfx2/sfxresid.hxx>
 #include <svx/svdograf.hxx>
 #include <svx/svdomedia.hxx>
 #include <svx/svdpage.hxx>
@@ -288,6 +289,14 @@ FuInsertGraphic::FuInsertGraphic( ScTabViewShell&   
rViewSh,
         {
             lcl_InsertGraphic( aGraphic, aFileName, bAsLink, true, rViewSh, 
pWindow, pView );
         }
+        else
+        {
+            std::shared_ptr<weld::MessageDialog> 
xWarn(Application::CreateMessageDialog(
+                pWin->GetFrameWeld(), VclMessageType::Warning, 
VclButtonsType::Ok,
+                SfxResId(SvxOpenGraphicDialog::SvxOpenGrfErr2ResId(nError))));
+
+            xWarn->runAsync(xWarn, [](sal_uInt32) {});
+        }
     }
     else
     {
diff --git a/sd/inc/sdgrffilter.hxx b/sd/inc/sdgrffilter.hxx
index a90934dd6dea..32647a371870 100644
--- a/sd/inc/sdgrffilter.hxx
+++ b/sd/inc/sdgrffilter.hxx
@@ -33,7 +33,8 @@ public:
     bool Import();
     bool Export() override;
 
-    static void HandleGraphicFilterError(ErrCode nFilterError, ErrCode 
nStreamError);
+    static void HandleGraphicFilterError(ErrCode nFilterError, ErrCode 
nStreamError,
+                                         weld::Window* frameWeld = nullptr);
     static void InsertSdrGrafObj(const Graphic& rGraphic, SdPage* pPage);
 };
 
diff --git a/sd/source/filter/grf/sdgrffilter.cxx 
b/sd/source/filter/grf/sdgrffilter.cxx
index f261efa17d27..a4b16368540f 100644
--- a/sd/source/filter/grf/sdgrffilter.cxx
+++ b/sd/source/filter/grf/sdgrffilter.cxx
@@ -103,7 +103,8 @@ SdGRFFilter::~SdGRFFilter()
 {
 }
 
-void SdGRFFilter::HandleGraphicFilterError( ErrCode nFilterError, ErrCode 
nStreamError )
+void SdGRFFilter::HandleGraphicFilterError(ErrCode nFilterError, ErrCode 
nStreamError,
+                                           weld::Window* frameWeld)
 {
     if (ERRCODE_NONE != nStreamError)
     {
@@ -130,11 +131,12 @@ void SdGRFFilter::HandleGraphicFilterError( ErrCode 
nFilterError, ErrCode nStrea
 
     if (pId && pId == STR_IMPORT_GRFILTER_IOERROR)
         ErrorHandler::HandleError( ERRCODE_IO_GENERAL );
-    else
+    else if (frameWeld || !comphelper::LibreOfficeKit::isActive())
     {
-        std::unique_ptr<weld::MessageDialog> 
xErrorBox(Application::CreateMessageDialog(nullptr,
-                                                       
VclMessageType::Warning, VclButtonsType::Ok, pId ? SdResId(pId) : OUString()));
-        xErrorBox->run();
+        std::shared_ptr<weld::MessageDialog> xErrorBox(
+            Application::CreateMessageDialog(frameWeld, 
VclMessageType::Warning, VclButtonsType::Ok,
+                                             pId ? SdResId(pId) : OUString()));
+        xErrorBox->runAsync(xErrorBox, [](sal_uInt32) {});
     }
 }
 
diff --git a/sd/source/ui/func/fuinsert.cxx b/sd/source/ui/func/fuinsert.cxx
index 4083a5ca7af2..f093f55f7ffd 100644
--- a/sd/source/ui/func/fuinsert.cxx
+++ b/sd/source/ui/func/fuinsert.cxx
@@ -186,10 +186,11 @@ void FuInsertGraphic::DoExecute( SfxRequest& rReq )
             }
         }
     }
-    else if (!comphelper::LibreOfficeKit::isActive())
+    else
     {
-        // TODO: enable in LOK, it contains synchronous error window without 
LOKNotifier
-        SdGRFFilter::HandleGraphicFilterError( nError, 
GraphicFilter::GetGraphicFilter().GetLastError() );
+        SdGRFFilter::HandleGraphicFilterError(nError,
+                                              
GraphicFilter::GetGraphicFilter().GetLastError(),
+                                              mpWindow ? 
mpWindow->GetFrameWeld() : nullptr);
     }
 }
 
diff --git a/sfx2/source/appl/opengrf.cxx b/sfx2/source/appl/opengrf.cxx
index 16e0731f310b..617f417f40f6 100644
--- a/sfx2/source/appl/opengrf.cxx
+++ b/sfx2/source/appl/opengrf.cxx
@@ -45,20 +45,6 @@ using namespace ::com::sun::star::lang;
 using namespace ::com::sun::star::ui::dialogs;
 using namespace ::com::sun::star::uno;
 
-static TranslateId SvxOpenGrfErr2ResId( ErrCode err )
-{
-    if (err == ERRCODE_GRFILTER_OPENERROR)
-        return RID_SVXSTR_GRFILTER_OPENERROR;
-    else if (err == ERRCODE_GRFILTER_IOERROR)
-        return RID_SVXSTR_GRFILTER_IOERROR;
-    else if (err == ERRCODE_GRFILTER_VERSIONERROR)
-        return RID_SVXSTR_GRFILTER_VERSIONERROR;
-    else if (err == ERRCODE_GRFILTER_FILTERERROR)
-        return RID_SVXSTR_GRFILTER_FILTERERROR;
-    else
-        return RID_SVXSTR_GRFILTER_FORMATERROR;
-}
-
 struct SvxOpenGrf_Impl
 {
     SvxOpenGrf_Impl(weld::Window* pPreferredParent,
@@ -277,6 +263,20 @@ void SvxOpenGraphicDialog::SetDetectedFilter(const 
OUString& rStr)
     mpImpl->sDetectedFilter = rStr;
 }
 
+TranslateId SvxOpenGraphicDialog::SvxOpenGrfErr2ResId(ErrCode err)
+{
+    if (err == ERRCODE_GRFILTER_OPENERROR)
+        return RID_SVXSTR_GRFILTER_OPENERROR;
+    else if (err == ERRCODE_GRFILTER_IOERROR)
+        return RID_SVXSTR_GRFILTER_IOERROR;
+    else if (err == ERRCODE_GRFILTER_VERSIONERROR)
+        return RID_SVXSTR_GRFILTER_VERSIONERROR;
+    else if (err == ERRCODE_GRFILTER_FILTERERROR)
+        return RID_SVXSTR_GRFILTER_FILTERERROR;
+    else
+        return RID_SVXSTR_GRFILTER_FORMATERROR;
+}
+
 Reference<ui::dialogs::XFilePickerControlAccess> const & 
SvxOpenGraphicDialog::GetFilePickerControlAccess() const
 {
     return mpImpl->xCtrlAcc;
commit a585c2a3f8080b47aa9d92192e2630b6937b1f28
Author:     Pranam Lashkari <[email protected]>
AuthorDate: Fri Nov 28 22:52:12 2025 +0530
Commit:     Andras Timar <[email protected]>
CommitDate: Wed Jan 7 16:07:41 2026 +0100

    fix multiple sheet rename error dialogs appearing
    
    regression from 70d8195a2b72440fe929e4e3761d1f1d5ace0096
    
    Change-Id: I285a87f6a315034527749662eb96321afe081994
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194802
    Tested-by: Jenkins CollaboraOffice <[email protected]>
    Tested-by: Caolán McNamara <[email protected]>
    Reviewed-by: Caolán McNamara <[email protected]>

diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx
index e9617f73cb82..0b579cd88b90 100644
--- a/sc/source/core/data/document.cxx
+++ b/sc/source/core/data/document.cxx
@@ -916,14 +916,6 @@ bool ScDocument::RenameTab( SCTAB nTab, const OUString& 
rName, bool bExternalDoc
                 SfxLokHelper::notifyDocumentSizeChangedAllViews(pModel);
             }
         }
-        else
-        {
-            OUString aErrMsg(ScResId(STR_INVALIDTABNAME));
-            std::shared_ptr<weld::MessageDialog> 
xBox(Application::CreateMessageDialog(
-                GetDocumentShell()->GetFrame()->GetFrameWeld(), 
VclMessageType::Warning,
-                VclButtonsType::Ok, aErrMsg));
-            xBox->runAsync(xBox, [](sal_uInt32) {});
-        }
     }
 
     collectUIInformation({{"NewName", rName}}, u"Rename_Sheet"_ustr);
diff --git a/sc/source/ui/view/tabvwshf.cxx b/sc/source/ui/view/tabvwshf.cxx
index 7a68b9393130..ddc81b67e789 100644
--- a/sc/source/ui/view/tabvwshf.cxx
+++ b/sc/source/ui/view/tabvwshf.cxx
@@ -1081,6 +1081,14 @@ void 
ScTabViewShell::ExecuteAppendOrRenameTable(SfxRequest& rReq)
         {
             rReq.Done( *pReqArgs );
         }
+        else
+        {
+            OUString aErrMsg(ScResId(STR_INVALIDTABNAME));
+            std::shared_ptr<weld::MessageDialog> 
xBox(Application::CreateMessageDialog(
+                GetFrameWeld(), VclMessageType::Warning,
+                VclButtonsType::Ok, aErrMsg));
+            xBox->runAsync(xBox, [](sal_uInt32) {});
+        }
     }
     else
     {
@@ -1172,9 +1180,9 @@ bool 
ScTabViewShell::DoAppendOrRenameTableDialog(sal_Int32 nResult, const VclPtr
         else
         {
             OUString aErrMsg ( ScResId( STR_INVALIDTABNAME ) );
-            std::shared_ptr<weld::MessageDialog> 
xBox(Application::CreateMessageDialog(
+            std::unique_ptr<weld::MessageDialog> 
xBox(Application::CreateMessageDialog(
                 GetFrameWeld(), VclMessageType::Warning, VclButtonsType::Ok, 
aErrMsg));
-            xBox->runAsync(xBox, [](sal_uInt32) {});
+            xBox->run();
         }
     }
 
commit b0d8779d9f7c51f358cfa7ec7cf1bf84850af719
Author:     Pranam Lashkari <[email protected]>
AuthorDate: Fri Nov 28 19:15:12 2025 +0530
Commit:     Andras Timar <[email protected]>
CommitDate: Wed Jan 7 16:07:35 2026 +0100

    converted a few simple MessageDialog dialogs to async
    
    found this dialogs while working on this files
    not converted for any particular problem or context
    
    Change-Id: I50e1db88de660024e095471ec3e96da050a04242
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194779
    Tested-by: Caolán McNamara <[email protected]>
    Reviewed-by: Caolán McNamara <[email protected]>

diff --git a/sc/source/ui/view/tabvwshf.cxx b/sc/source/ui/view/tabvwshf.cxx
index 794b68e002f4..7a68b9393130 100644
--- a/sc/source/ui/view/tabvwshf.cxx
+++ b/sc/source/ui/view/tabvwshf.cxx
@@ -1172,9 +1172,9 @@ bool 
ScTabViewShell::DoAppendOrRenameTableDialog(sal_Int32 nResult, const VclPtr
         else
         {
             OUString aErrMsg ( ScResId( STR_INVALIDTABNAME ) );
-            std::unique_ptr<weld::MessageDialog> 
xBox(Application::CreateMessageDialog(GetFrameWeld(),
-                                                      VclMessageType::Warning, 
VclButtonsType::Ok, aErrMsg));
-            xBox->run();
+            std::shared_ptr<weld::MessageDialog> 
xBox(Application::CreateMessageDialog(
+                GetFrameWeld(), VclMessageType::Warning, VclButtonsType::Ok, 
aErrMsg));
+            xBox->runAsync(xBox, [](sal_uInt32) {});
         }
     }
 
diff --git a/sw/source/uibase/uiview/view2.cxx 
b/sw/source/uibase/uiview/view2.cxx
index 2880dd2fc3eb..a25b93c468cc 100644
--- a/sw/source/uibase/uiview/view2.cxx
+++ b/sw/source/uibase/uiview/view2.cxx
@@ -587,10 +587,9 @@ bool SwView::InsertGraphicDlg( SfxRequest& rReq )
         {
             if( bShowError )
             {
-                std::unique_ptr<weld::MessageDialog> 
xInfoBox(Application::CreateMessageDialog(GetFrameWeld(),
-                                                              
VclMessageType::Info, VclButtonsType::Ok,
-                                                              
SwResId(pResId)));
-                xInfoBox->run();
+                std::shared_ptr<weld::MessageDialog> 
xInfoBox(Application::CreateMessageDialog(
+                    GetFrameWeld(), VclMessageType::Info, VclButtonsType::Ok, 
SwResId(pResId)));
+                xInfoBox->runAsync(xInfoBox, [](sal_uInt32) {});
             }
             rReq.Ignore();
         }
@@ -800,10 +799,11 @@ void SwView::Execute(SfxRequest &rReq)
                         rIDRA.SetRedlinePassword(Sequence <sal_Int8> ());
                     else
                     {   // xmlsec05: message box for wrong password
-                        std::unique_ptr<weld::MessageDialog> 
xInfoBox(Application::CreateMessageDialog(nullptr,
-                                                      VclMessageType::Info, 
VclButtonsType::Ok,
-                                                      
SfxResId(RID_SVXSTR_INCORRECT_PASSWORD)));
-                        xInfoBox->run();
+                        std::shared_ptr<weld::MessageDialog> xInfoBox(
+                            Application::CreateMessageDialog(
+                                nullptr, VclMessageType::Info, 
VclButtonsType::Ok,
+                                SfxResId(RID_SVXSTR_INCORRECT_PASSWORD)));
+                        xInfoBox->runAsync(xInfoBox, [](sal_uInt32) {});
                         break;
                     }
                 }
@@ -2503,10 +2503,10 @@ void SwView::EditLinkDlg()
 {
     if 
(officecfg::Office::Common::Security::Scripting::DisableActiveContent::get())
     {
-        std::unique_ptr<weld::MessageDialog> xError(
+        std::shared_ptr<weld::MessageDialog> xError(
             Application::CreateMessageDialog(nullptr, VclMessageType::Warning, 
VclButtonsType::Ok,
                                              
SvtResId(STR_WARNING_EXTERNAL_LINK_EDIT_DISABLED)));
-        xError->run();
+        xError->runAsync(xError, [](sal_uInt32) {});
         return;
     }
 
@@ -2975,10 +2975,10 @@ tools::Long SwView::InsertMedium( sal_uInt16 nSlotId, 
std::unique_ptr<SfxMedium>
 
             if (!bCompare && !nFound)
             {
-                std::unique_ptr<weld::MessageDialog> 
xInfoBox(Application::CreateMessageDialog(GetEditWin().GetFrameWeld(),
-                                                              
VclMessageType::Info, VclButtonsType::Ok,
-                                                              
SwResId(STR_NO_MERGE_ENTRY)));
-                xInfoBox->run();
+                std::shared_ptr<weld::MessageDialog> 
xInfoBox(Application::CreateMessageDialog(
+                    GetEditWin().GetFrameWeld(), VclMessageType::Info, 
VclButtonsType::Ok,
+                    SwResId(STR_NO_MERGE_ENTRY)));
+                xInfoBox->runAsync(xInfoBox, [](sal_uInt32) {});
             }
             if( nRet==2 && xDocSh.is() )
                 xDocSh->DoClose();
@@ -3161,10 +3161,10 @@ IMPL_LINK( SwView, DialogClosedHdl, 
sfx2::FileDialogHelper*, _pFileDlg, void )
     std::unique_ptr<SfxMedium> pMed = m_pViewImpl->CreateMedium();
     if ( !pMed )
     {
-        std::unique_ptr<weld::MessageDialog> 
xInfoBox(Application::CreateMessageDialog(GetEditWin().GetFrameWeld(),
-                                                      VclMessageType::Info, 
VclButtonsType::Ok,
-                                                      
SwResId(RID_SVXSTR_TXTFILTER_FILTERERROR)));
-        xInfoBox->run();
+        std::shared_ptr<weld::MessageDialog> 
xInfoBox(Application::CreateMessageDialog(
+            GetEditWin().GetFrameWeld(), VclMessageType::Info, 
VclButtonsType::Ok,
+            SwResId(RID_SVXSTR_TXTFILTER_FILTERERROR)));
+        xInfoBox->runAsync(xInfoBox, [](sal_uInt32) {});
         return;
     }
 
commit 362e2d41b884b602a7ef28d60089090aab9bcc98
Author:     Pranam Lashkari <[email protected]>
AuthorDate: Fri Nov 28 19:02:10 2025 +0530
Commit:     Andras Timar <[email protected]>
CommitDate: Wed Jan 7 16:07:18 2026 +0100

    LOK: show warning/error dialogs
    
    show error dialog when invalid images are inserted
    show error dialog when sheet rename was invalid
    
    Change-Id: I9bf6bb25ac247e966da36bffcda3284d5d82ae42
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194778
    Tested-by: Caolán McNamara <[email protected]>
    Reviewed-by: Caolán McNamara <[email protected]>

diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx
index eeadfc52f19e..e9617f73cb82 100644
--- a/sc/source/core/data/document.cxx
+++ b/sc/source/core/data/document.cxx
@@ -24,6 +24,7 @@
 #include <o3tl/untaint.hxx>
 #include <svx/svditer.hxx>
 #include <sfx2/docfile.hxx>
+#include <sfx2/viewfrm.hxx>
 #include <svl/numformat.hxx>
 #include <poolcach.hxx>
 #include <svl/zforlist.hxx>
@@ -915,6 +916,14 @@ bool ScDocument::RenameTab( SCTAB nTab, const OUString& 
rName, bool bExternalDoc
                 SfxLokHelper::notifyDocumentSizeChangedAllViews(pModel);
             }
         }
+        else
+        {
+            OUString aErrMsg(ScResId(STR_INVALIDTABNAME));
+            std::shared_ptr<weld::MessageDialog> 
xBox(Application::CreateMessageDialog(
+                GetDocumentShell()->GetFrame()->GetFrameWeld(), 
VclMessageType::Warning,
+                VclButtonsType::Ok, aErrMsg));
+            xBox->runAsync(xBox, [](sal_uInt32) {});
+        }
     }
 
     collectUIInformation({{"NewName", rName}}, u"Rename_Sheet"_ustr);
diff --git a/sw/source/uibase/uiview/view2.cxx 
b/sw/source/uibase/uiview/view2.cxx
index 9b62077d6f02..2880dd2fc3eb 100644
--- a/sw/source/uibase/uiview/view2.cxx
+++ b/sw/source/uibase/uiview/view2.cxx
@@ -396,7 +396,7 @@ bool SwView::InsertGraphicDlg( SfxRequest& rReq )
     UIName sGraphicFormat( SwResId(STR_POOLFRM_GRAPHIC) );
 
     const SfxStringItem* pName = rReq.GetArg(SID_INSERT_GRAPHIC);
-    bool bShowError = !pName;
+    bool bShowError = !pName || comphelper::LibreOfficeKit::isActive();
 
     // No file pickers in a non-desktop (mobile app) build.
 

Reply via email to