[Libreoffice-bugs] [Bug 114271] Assertion failure when clicking on comment border in Calc
bugzilla-daemon at bugs.documentfoundation.org
bugzilla-daemon at bugs.documentfoundation.org
Thu Mar 7 20:24:12 UTC 2019
https://bugs.documentfoundation.org/show_bug.cgi?id=114271
Julien Nabet <serval2412 at yahoo.fr> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |erack at redhat.com
--- Comment #7 from Julien Nabet <serval2412 at yahoo.fr> ---
Eike: with this patch, I don't reproduce the assert:
diff --git a/sc/source/ui/drawfunc/futext.cxx
b/sc/source/ui/drawfunc/futext.cxx
index f1a4afcd91c4..f1ec728abad0 100644
--- a/sc/source/ui/drawfunc/futext.cxx
+++ b/sc/source/ui/drawfunc/futext.cxx
@@ -194,7 +194,7 @@ bool FuText::MouseButtonDown(const MouseEvent& rMEvt)
//!?? the default values are not correct when result is
without outliner ???!?
auto pOTemp = pO.get();
- if ( pView->SdrBeginTextEdit(pObj, pPV, pWindow, true,
pO.release()) )
+ if ( !pView->IsTextEdit() && pView->SdrBeginTextEdit(pObj,
pPV, pWindow, true, pO.release()) )
{
// subscribe EditEngine-UndoManager
rViewShell.SetDrawTextUndo( &pOTemp->GetUndoManager() );
However, I wonder if it just hides the problem.
Indeed UndoManager error may give hints about the root cause.
I tried to follow the problem of exchanging 2 non null managers so I put some
traces to display the thread and undomanager pointer, I finally retrieved
these:
1) in EditNote() at:
GetViewData().GetDispatcher().Execute( SID_DRAW_NOTEEDIT, SfxCallMode::SYNCHRON
| SfxCallMode::RECORD ); (line 508)
#0 0x00007ffff55455b6 in SfxShell::SetUndoManager(SfxUndoManager*)
(this=0x555558d19b40, pNewUndoMgr=0x555557e8b4c0) at
/home/julien/lo/libreoffice/sfx2/source/control/shell.cxx:210
#1 0x00007fffde40b30a in ScDrawTextObjectBar::ScDrawTextObjectBar(ScViewData*)
(this=0x555558d19b40, pData=0x555557e32088) at
/home/julien/lo/libreoffice/sc/source/ui/drawfunc/drtxtob.cxx:112
#2 0x00007fffde902735 in ScTabViewShell::SetCurSubShell(ObjectSelectionType,
bool) (this=0x555557e31fc0, eOST=OST_DrawText, bForce=false) at
/home/julien/lo/libreoffice/sc/source/ui/view/tabvwsh4.cxx:816
#3 0x00007fffde901f5f in ScTabViewShell::SetDrawTextShell(bool)
(this=0x555557e31fc0, bActive=true) at
/home/julien/lo/libreoffice/sc/source/ui/view/tabvwsh4.cxx:656
#4 0x00007fffde8f86b9 in ScTabViewShell::ExecDraw(SfxRequest&)
(this=0x555557e31fc0, rReq=...) at
/home/julien/lo/libreoffice/sc/source/ui/view/tabvwsh2.cxx:189
#5 0x00007fffde8f6e9d in SfxStubScTabViewShellExecDraw(SfxShell*, SfxRequest&)
(pShell=0x555557e31fc0, rReq=...) at
/home/julien/lo/libreoffice/workdir/SdiTarget/sc/sdi/scslots.hxx:1434
#6 0x00007ffff54fb508 in SfxShell::CallExec(void (*)(SfxShell*, SfxRequest&),
SfxRequest&) (this=0x555557e31fc0, pFunc=0x7fffde8f6e6f
<SfxStubScTabViewShellExecDraw(SfxShell*, SfxRequest&)>, rReq=...)
at /home/julien/lo/libreoffice/include/sfx2/shell.hxx:207
#7 0x00007ffff54f23a5 in SfxDispatcher::Call_Impl(SfxShell&, SfxSlot const&,
SfxRequest&, bool) (this=0x555557e280a0, rShell=..., rSlot=..., rReq=...,
bRecord=true)
at /home/julien/lo/libreoffice/sfx2/source/control/dispatch.cxx:356
#8 0x00007ffff54f4de1 in SfxDispatcher::Execute_(SfxShell&, SfxSlot const&,
SfxRequest&, SfxCallMode)
(this=0x555557e280a0, rShell=..., rSlot=..., rReq=...,
eCallMode=(SfxCallMode::SYNCHRON | SfxCallMode::RECORD)) at
/home/julien/lo/libreoffice/sfx2/source/control/dispatch.cxx:856
#9 0x00007ffff54f54c1 in SfxDispatcher::Execute(unsigned short, SfxCallMode,
SfxPoolItem const**, unsigned short, SfxPoolItem const**)
(this=0x555557e280a0, nSlot=26081, eCall=(SfxCallMode::SYNCHRON |
SfxCallMode::RECORD), pArgs=0x0, nModi=0, pInternalArgs=0x0) at
/home/julien/lo/libreoffice/sfx2/source/control/dispatch.cxx:962
#10 0x00007fffde984f1a in ScViewFunc::EditNote() (this=0x555557e32078) at
/home/julien/lo/libreoffice/sc/source/ui/view/viewfun6.cxx:508
2) In the same method at line 514
#0 0x00007ffff55455b6 in SfxShell::SetUndoManager(SfxUndoManager*)
(this=0x555558d19b40, pNewUndoMgr=0x555559139760) at
/home/julien/lo/libreoffice/sfx2/source/control/shell.cxx:210
#1 0x00007fffde903539 in ScTabViewShell::SetDrawTextUndo(SfxUndoManager*)
(this=0x555557e31fc0, pNewUndoMgr=0x555559139760) at
/home/julien/lo/libreoffice/sc/source/ui/view/tabvwsh4.cxx:1016
#2 0x00007fffde430d8b in FuText::SetInEditMode(SdrObject*, Point const*, bool,
KeyEvent const*) (this=0x555558c71f60, pObj=0x555558f5fd00, pMousePixel=0x0,
bCursorToEnd=false, pInitialKey=0x0)
at /home/julien/lo/libreoffice/sc/source/ui/drawfunc/futext.cxx:588
#3 0x00007fffde984f8b in ScViewFunc::EditNote() (this=0x555557e32078) at
/home/julien/lo/libreoffice/sc/source/ui/view/viewfun6.cxx:514
First retrieves pViewData->GetSfxDocShell()->GetUndoManager()
Second one retrieves pOTemp->GetUndoManager()
Any thoughts?
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice-bugs/attachments/20190307/55692bec/attachment-0001.html>
More information about the Libreoffice-bugs
mailing list