diff --git a/sd/source/ui/func/futext.cxx b/sd/source/ui/func/futext.cxx index 72f6ae25b3a6..9b0979b958ca 100644 --- a/sd/source/ui/func/futext.cxx +++ b/sd/source/ui/func/futext.cxx @@ -21,6 +21,8 @@ #include #include #include +#include +#include #include #include #include @@ -1064,6 +1066,19 @@ void FuText::SetInEditMode(const MouseEvent& rMEvt, bool bQuickDrag) if (mpView->SdrBeginTextEdit(pTextObj, pPV, mpWindow, true, pOutl) && mxTextObj->GetObjInventor() == SdrInventor) { + //tdf#102293 flush overlay before going on to pass clicks down to + //the outline view which will want to paint selections + for (sal_uInt32 b = 0; b < pPV->PageWindowCount(); ++b) + { + const SdrPageWindow& rPageWindow = *pPV->GetPageWindow(b); + if (!rPageWindow.GetPaintWindow().OutputToWindow()) + continue; + rtl::Reference< sdr::overlay::OverlayManager > xManager = rPageWindow.GetOverlayManager(); + if (!xManager.is()) + continue; + xManager->flush(); + } + bFirstObjCreated = true; DeleteDefaultText();