Description: When you open a password-protected document, you are presented with a simple GtkDialog window that has "Enter password" as the window title and this following layout: Enter password to open file: file:///home/bob/path/to/the/file.ods [ ******************* ] ( Help ) ( Cancel ) ( OK ) The "file:///full_path_blahblah" part bugs me, because it eats 90% of the space and makes it harder to see the actual file name. The path is also irrelevant to me because I _just_ requested to open the file, which either means I tried opening it from my file browser application (and therefore know the path) or that I tried opening it with LibreOffice's file open dialog (ditto) or that I tried opening it from the "Recent Files" quick menu (in which case I clearly don't care about the file's path, since I couldn't even be bothered to use a file manager to dig it up). So I would suggest that the string becomes: 'The file "%s" is password-protected. Enter the password to open it:' Where %s is the human-readable file name. It could be without the extension (ex: "TPS report") or with the extension (ex: "<b>TPS report</b>.ods") if you're worried about non-technical users needing to be able to cite the file extension along with the filename. The "OK" button in that GtkDialog should also be "insensitive" until something has been entered in the password field. Actual Results: Expected Results: Reproducible: Always User Profile Reset: No Additional Info:
What is your LibreOffice version? In a recent version, at least since LibreOffice 6.0, this dialog can be resized, so that the length of the path does not matter. Status set to NEEDINFO, please set it back to UNCONFIRMED once requested informations are provided. Best regards. JBF
Dear Jean-François Fortin Tam, This bug has been in NEEDINFO status with no change for at least 6 months. Please provide the requested information as soon as possible and mark the bug as UNCONFIRMED. Due to regular bug tracker maintenance, if the bug is still in NEEDINFO status with no change in 30 days the QA team will close the bug as INSUFFICIENTDATA due to lack of needed information. For more information about our NEEDINFO policy please read the wiki located here: https://wiki.documentfoundation.org/QA/Bugzilla/Fields/Status/NEEDINFO If you have already provided the requested information, please mark the bug as UNCONFIRMED so that the QA team knows that the bug is ready to be confirmed. Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-NeedInfo-Ping
Hi J-B, I'm running version 6.4. Sure the dialog is resizeable, but the user shouldn't have to resize it, that's a pain in the butt (and I can assure you most will not even think of this possibility, judging from the non-technical users I study), it should be easily and quickly readable in the first place.
We decided to make dialog non-resizable unless user input requires to resize. And I support the idea. Code pointer: STR_ENTER_PASSWORD_TO_OPEN and STR_ENTER_PASSWORD_TO_MODIFY in uui/inc/strings.hrc and uui/uiconfig/ui/password.ui (we have 5 different passwd dialogs!) for the UI. Code is at uui/source/passworddlg.cxx. It's a generic dialog that might be used somewhere else. => medium difficulty and Thorsten for a second opinion.
After tinkering on the code related to this there are few things I wanted to ask/say - 1> The tdf#66553 - add file name to title bar for password managers - has added the file name along with its extension in the Password title box. 2> The link to the file doesn't seem wrong in the case of if this functionality is used by some extension to open a file (in case of remote access) it will help the user to know exactly where the file is located. This is how currently the password dialog pops-up - -|-------------------------------------------------------------------|- | Enter Password - dev.odt | | | | The file is password-protected. Enter the password to open it: | | file:///home/devansh/Documents/dev.odt | | | | Help Cancel OK | | | -|-------------------------------------------------------------------|- Is this intuition okay?
(In reply to Devansh Varshney from comment #5) > Is this intuition okay? Reading c0 again sounds like the way to go. (In reply to Jeff Fortin Tam from comment #0) > 'The file "%s" is password-protected.\nPlease enter the password:' Actual issue was the potentially lengthy folder structure; sometimes it might be relevant but most often it isn't. We could show the full URI in a tooltip.
(In reply to Heiko Tietze from comment #6) > (In reply to Devansh Varshney from comment #5) > > Is this intuition okay? > Reading c0 again sounds like the way to go. > > (In reply to Jeff Fortin Tam from comment #0) > > 'The file "%s" is password-protected.\nPlease enter the password:' > Actual issue was the potentially lengthy folder structure; sometimes it > might be relevant but most often it isn't. We could show the full URI in a > tooltip. I did made changes and this is currently what we are showing - https://pasteboard.co/LL2eIt03QDA8.png I am currently tweaking the OK button disability initially till any text is entered in the box.
https://pasteboard.co/YDGqDUqbO5C6.png Working as expected - https://youtu.be/BxyGar8kPbg
What is demonstrated in the video seems like a nice improvement! If you want to go the extra mile, as Heiko suggested maybe a tooltip on hover could be attached to label (for the folder path), though I don't know if that's really considered a must-have. Personally I can't think of a case where I would care to know the folder path for a file I just opened. I guess the next step would be to send a git merge request for this, in any case.
(In reply to Jeff Fortin Tam from comment #9) > What is demonstrated in the video seems like a nice improvement! > > If you want to go the extra mile, as Heiko suggested maybe a tooltip on > hover could be attached to label (for the folder path), though I don't know > if that's really considered a must-have. Personally I can't think of a case > where I would care to know the folder path for a file I just opened. > > I guess the next step would be to send a git merge request for this, in any > case. Sorry for the delayed reply as I opened this today. I did created the PR - https://gerrit.libreoffice.org/c/core/+/163924 I am looking for the option for the tooltip on hover.
(In reply to Jeff Fortin Tam from comment #9) > What is demonstrated in the video seems like a nice improvement! > > If you want to go the extra mile, as Heiko suggested maybe a tooltip on > hover could be attached to label (for the folder path), though I don't know > if that's really considered a must-have. Personally I can't think of a case > where I would care to know the folder path for a file I just opened. > > I guess the next step would be to send a git merge request for this, in any > case. added the option of complete file path on hovering the dialog box - https://youtu.be/p1K1U1FNdns
Created attachment 193130 [details] Screnshot with https://gerrit.libreoffice.org/c/core/+/163924 PS 9 in place for discussion in the Gerrit change
(In reply to Michael Weghorn from comment #12) > Created attachment 193130 [details] > Screnshot with https://gerrit.libreoffice.org/c/core/+/163924 PS 9 in place > for discussion in the Gerrit change Have a look at this video https://youtu.be/ugqUnZI7mS0 is this now aligned with what we were looking?
(In reply to Devansh Varshney from comment #13) > (In reply to Michael Weghorn from comment #12) > > Created attachment 193130 [details] > > Screnshot with https://gerrit.libreoffice.org/c/core/+/163924 PS 9 in place > > for discussion in the Gerrit change > > Have a look at this video https://youtu.be/ugqUnZI7mS0 > > is this now aligned with what we were looking? I'll leave deciding what's the wanted design to our UX team. In my opinion: * There's extra unused space above and below the label seems unnecessary. * The placeholder text in the GtkEntry is nice, but I wouldn't drop the prompt "Enter password to open file" (or similar) from above the entry, as it's e.g. otherwise no longer to be seen when starting to type a password (-> might be considered a bit of a lack of context). FWIW, I personally prefer to see the whole file name at once, but that might be different from what most users would want.
(In reply to Michael Weghorn from comment #14) > FWIW, I personally prefer to see the whole file name at once, but that might > be different from what most users would want. "... the whole file *path* at once ..." is what I mean. (Sorry for the confusion.)
(In reply to Michael Weghorn from comment #14) > I'll leave deciding what's the wanted design to our UX team. > > In my opinion: > * There's extra unused space above and below the label seems unnecessary. > * The placeholder text in the GtkEntry is nice, but I wouldn't drop the > prompt "Enter password to open file" (or similar) from above the entry, as > it's e.g. otherwise no longer to be seen when starting to type a password > (-> might be considered a bit of a lack of context). > > FWIW, I personally prefer to see the whole file name at once, but that might > be different from what most users would want. * I thought to add those space for a better hover if someone wants to look at the complete file path and it also seems a bit spacious. * I did this as this is how most of the password forms are being used on the apps and web specially. I can revert/change these changes
Created attachment 193186 [details] message box after c#15 This is now the UI for the password dialog is shown after the suggestion from c#15
(In reply to Devansh Varshney from comment #17) > Created attachment 193186 [details] > message box after c#15 > > This is now the UI for the password dialog is shown after the suggestion > from c#15 Information text on top ending with period, buddy label for the control left of it (it's needed for a11y) ending with a colon. Distance between info label and control 6px between buddy label and control 3px. Margin around the parent frame/grid 12px. The file "Untitled 1.odt" is password protected. _P_assword: [ ] I dislike the repetition at dialog title and content and suggest to change it to "Password protection", or the like. Please test with a ridiculous long file name. But showing this once sounds okay to me.
Created attachment 193202 [details] without the Password label
Created attachment 193203 [details] with the password label
I have added two Screenshot with/out Password label. here is the video for the file opening with a really long name https://youtu.be/j5vOE3hdu9U
https://youtu.be/P_5cQJLRi0I final clip
Created attachment 193297 [details] File created after patchset 15 I created a file in the morning with the File -> Save As -> tick the checkbox to save with password and it got saved with the password.
Created attachment 193298 [details] Title is Set Password devansh 132007_improve_pswd_msg_lckd_dcmnt instdir/program/soffice --writer warn:unotools.misc:10880:10880:unotools/source/misc/mediadescriptor.cxx:372: url: 'private:factory/swriter' com.sun.star.ucb.ContentCreationException message: "No Content Provider available for URL: private:factory/swriter at /home/devansh/libreoffice/ucbhelper/source/client/content.cxx:208" eError: (com.sun.star.ucb.ContentCreationError) NO_CONTENT_PROVIDER warn:legacy.tools:10880:10880:sfx2/source/control/bindings.cxx:1770: No cache for OfficeDispatch! warn:sal.file:10880:10880:sal/osl/unx/file_misc.cxx:659: Invalid file URL warn:sal.file:10880:10880:sal/osl/unx/file_misc.cxx:659: Invalid file URL
Created attachment 200458 [details] password_working The password Protection UI now showing the file name and upon hovering showing the full path.
Created attachment 200459 [details] A really long file name File with a long name.
Created attachment 200692 [details] Fixed displaying the encoded version of the URL, not the decoded, human-readable version that users would expect to see (with actual spaces, äöü, etc.)
Created attachment 200798 [details] aFileNameShort = OUString(aFileName.subView(0, 47)) + u"…"_ustr; The main label still shows ... (three dots) instead of … (single typographic ellipsis) on my MacOS.
Devanshs-MacBook-Pro \lode\dev\libreoffice ➜ ( 132007_password_message 4) 14m 33.265s 12:43 AM ⚡devanshvarshney ❯❯ LANG=C SAL_USE_VCLPLUGIN=gen make debugrun make -j 8 -rs -f /Users/devanshvarshney/lode/dev/libreoffice/Makefile.gbuild debugrun (lldb) target create "/Users/devanshvarshney/lode/dev/libreoffice/instdir/LibreOfficeDev.app/Contents/MacOS/soffice" Current executable set to '/Users/devanshvarshney/lode/dev/libreoffice/instdir/LibreOfficeDev.app/Contents/MacOS/soffice' (arm64). (lldb) settings set -- target.run-args "--norestore" "--nologo" "\"--accept=pipe,name=devanshvarshney\\;urp\"" (lldb) b sd/source/ui/slidesorter/view/SlsFramePainter.cxx:47 Breakpoint 1: no locations (pending). WARNING: Unable to resolve breakpoint to any actual locations. (lldb) b PasswordDialog::PasswordDialog Breakpoint 2: no locations (pending). WARNING: Unable to resolve breakpoint to any actual locations. (lldb) run Process 75949 launched: '/Users/devanshvarshney/lode/dev/libreoffice/instdir/LibreOfficeDev.app/Contents/MacOS/soffice' (arm64) warn:sal.osl:75949:10462688:sal/osl/unx/module.cxx:103: dlopen(/Users/devanshvarshney/lode/dev/libreoffice/instdir/LibreOfficeDev.app/Contents/Frameworks/libvclplug_genlo.dylib, 9): dlopen(/Users/devanshvarshney/lode/dev/libreoffice/instdir/LibreOfficeDev.app/Contents/Frameworks/libvclplug_genlo.dylib, 0x0009): tried: '/Users/devanshvarshney/lode/dev/libreoffice/instdir/LibreOfficeDev.app/Contents/Frameworks/libvclplug_genlo.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/devanshvarshney/lode/dev/libreoffice/instdir/LibreOfficeDev.app/Contents/Frameworks/libvclplug_genlo.dylib' (no such file), '/Users/devanshvarshney/lode/dev/libreoffice/instdir/LibreOfficeDev.app/Contents/Frameworks/libvclplug_genlo.dylib' (no such file) warn:vcl.plugadapt:75949:10462688:vcl/source/app/salplug.cxx:158: could not load shared object libvclplug_genlo.dylib warn:vcl.skia:75949:10462688:vcl/quartz/cgutils.mm:105: Default MTLDevice is "Apple M4" 2 locations added to breakpoint 2 1 location added to breakpoint 1 warn:vcl.app:75949:10462688:vcl/source/app/UserResourceScanner.cxx:51: Could not determine status for file 'file:///Users/devanshvarshney/lode/dev/libreoffice/instdir/LibreOfficeDev.app/Contents/user/themes'. 2025-05-15 00:44:14.092158+0530 soffice[75949:10462979] [logging-persist] cannot open file at line 49448 of [1b37c146ee] 2025-05-15 00:44:14.092170+0530 soffice[75949:10462979] [logging-persist] os_unix.c:49448: (2) open(/private/var/db/DetachedSignatures) - No such file or directory Process 75949 stopped * thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1 frame #0: 0x000000046a4b2728 libsdlo.dylib`sd::slidesorter::view::FramePainter::FramePainter(this=0x0000000140b49e00, rShadowBitmap=0x000000042c54dae0) at SlsFramePainter.cxx:47:9 44 else 45 { 46 OSL_ASSERT(rShadowBitmap.GetSizePixel().Width() == rShadowBitmap.GetSizePixel().Height()); -> 47 OSL_ASSERT((rShadowBitmap.GetSizePixel().Width()-1)%2 == 0); 48 OSL_ASSERT(((rShadowBitmap.GetSizePixel().Width()-1)/2)%2 == 1); 49 } 50 } Target 0: (soffice) stopped. (lldb) p rShadowBitmap.GetSizePixel().Width() (tools::Long) 20 (lldb) expr (rShadowBitmap.GetSizePixel().Width() - 1) % 2 (tools::Long) $0 = 1 (lldb) expr rShadowBitmap.GetSizePixel().Width() == rShadowBitmap.GetSizePixel().Height() (bool) $1 = true (lldb) p rShadowBitmap.GetSizePixel().Height() (tools::Long) 20 (lldb) bt * thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1 * frame #0: 0x000000046a4b2728 libsdlo.dylib`sd::slidesorter::view::FramePainter::FramePainter(this=0x0000000140b49e00, rShadowBitmap=0x000000042c54dae0) at SlsFramePainter.cxx:47:9 frame #1: 0x000000046a4b2950 libsdlo.dylib`sd::slidesorter::view::FramePainter::FramePainter(this=0x0000000140b49e00, rShadowBitmap=0x000000042c54dae0) at SlsFramePainter.cxx:37:1 frame #2: 0x000000046a4d3290 libsdlo.dylib`sd::slidesorter::view::PageObjectPainter::PageObjectPainter(this=0x000060000039d3f8, rSlideSorter=0x000060000019d650) at SlsPageObjectPainter.cxx:48:32 frame #3: 0x000000046a4d345c libsdlo.dylib`sd::slidesorter::view::PageObjectPainter::PageObjectPainter(this=0x000060000039d3f8, rSlideSorter=0x000060000019d650) at SlsPageObjectPainter.cxx:49:1 frame #4: 0x000000046a4b1f7c libsdlo.dylib`sd::slidesorter::view::PageObjectPainter* std::__1::construct_at[abi:ne190102]<sd::slidesorter::view::PageObjectPainter, sd::slidesorter::SlideSorter&, sd::slidesorter::view::PageObjectPainter*>(__location=0x000060000039d3f8, __args=0x000060000019d650) at construct_at.h:41:83 frame #5: 0x000000046a4b1f4c libsdlo.dylib`sd::slidesorter::view::PageObjectPainter* std::__1::__construct_at[abi:ne190102]<sd::slidesorter::view::PageObjectPainter, sd::slidesorter::SlideSorter&, sd::slidesorter::view::PageObjectPainter*>(__location=0x000060000039d3f8, __args=0x000060000019d650) at construct_at.h:49:10 frame #6: 0x000000046a4b1d68 libsdlo.dylib`void std::__1::allocator_traits<std::__1::allocator<sd::slidesorter::view::PageObjectPainter>>::construct[abi:ne190102]<sd::slidesorter::view::PageObjectPainter, sd::slidesorter::SlideSorter&, void, 0>((null)=0x000000016fdf2066, __p=0x000060000039d3f8, __args=0x000060000019d650) at allocator_traits.h:328:5 frame #7: 0x000000046a4b1c74 libsdlo.dylib`std::__1::__shared_ptr_emplace<sd::slidesorter::view::PageObjectPainter, std::__1::allocator<sd::slidesorter::view::PageObjectPainter>>::__shared_ptr_emplace[abi:ne190102]<sd::slidesorter::SlideSorter&, std::__1::allocator<sd::slidesorter::view::PageObjectPainter>, 0>(this=0x000060000039d3e0, __a=allocator<sd::slidesorter::view::PageObjectPainter> @ 0x000000016fdf2067, __args=0x000060000019d650) at shared_ptr.h:266:5 frame #8: 0x000000046a4b192c libsdlo.dylib`std::__1::__shared_ptr_emplace<sd::slidesorter::view::PageObjectPainter, std::__1::allocator<sd::slidesorter::view::PageObjectPainter>>::__shared_ptr_emplace[abi:ne190102]<sd::slidesorter::SlideSorter&, std::__1::allocator<sd::slidesorter::view::PageObjectPainter>, 0>(this=0x000060000039d3e0, __a=allocator<sd::slidesorter::view::PageObjectPainter> @ 0x000000016fdf209f, __args=0x000060000019d650) at shared_ptr.h:263:115 frame #9: 0x000000046a4b1800 libsdlo.dylib`std::__1::shared_ptr<sd::slidesorter::view::PageObjectPainter> std::__1::allocate_shared[abi:ne190102]<sd::slidesorter::view::PageObjectPainter, std::__1::allocator<sd::slidesorter::view::PageObjectPainter>, sd::slidesorter::SlideSorter&, 0>(__a=0x000000016fdf2157, __args=0x000060000019d650) at shared_ptr.h:845:51 frame #10: 0x000000046a4acda4 libsdlo.dylib`std::__1::shared_ptr<sd::slidesorter::view::PageObjectPainter> std::__1::make_shared[abi:ne190102]<sd::slidesorter::view::PageObjectPainter, sd::slidesorter::SlideSorter&, 0>(__args=0x000060000019d650) at shared_ptr.h:853:10 frame #11: 0x000000046a4aa838 libsdlo.dylib`sd::slidesorter::view::SlideSorterView::GetPageObjectPainter(this=0x00000001411d2000) at SlideSorterView.cxx:822:31 frame #12: 0x000000046a4ac130 libsdlo.dylib`sd::slidesorter::view::SlideSorterView::Paint(this=0x00000001411d2000, rDevice=0x0000000469a21260, rRepaintArea=0x0000600002c51a60) at SlideSorterView.cxx:625:16 frame #13: 0x000000046a4b010c libsdlo.dylib`sd::slidesorter::view::(anonymous namespace)::Painter::Paint(this=0x0000600003819098, rDevice=0x0000000469a21260, rRepaintArea=0x0000600002c51a60) at SlideSorterView.cxx:74:20 frame #14: 0x000000046a4c34a0 libsdlo.dylib`sd::slidesorter::view::(anonymous namespace)::Layer::Repaint(this=0x000060000019e078, rTargetDevice=0x0000000469a21260, rRepaintRectangle=0x0000600002c51a60) at SlsLayeredDevice.cxx:445:17 frame #15: 0x000000046a4c3368 libsdlo.dylib`sd::slidesorter::view::LayeredDevice::RepaintRectangle(this=0x00006000048fed18, rRepaintRectangle=0x0000600002c51a60) at SlsLayeredDevice.cxx:287:17 frame #16: 0x000000046a4cd920 libsdlo.dylib`sd::slidesorter::view::LayeredDevice::Repaint(vcl::Region const&)::$_0::operator()(this=0x000000016fdf2680, r=0x0000600002c51a60) const at SlsLayeredDevice.cxx:267:58 frame #22: 0x000000046a4c55c4 libsdlo.dylib`std::__1::function<void (tools::Rectangle const&)>::operator()(this= Lambda in File SlsLayeredDevice.cxx at Line 267, __arg=0x0000600002c51a60) const at function.h:989:10 frame #23: 0x000000046a4c3160 libsdlo.dylib`sd::slidesorter::view::(anonymous namespace)::ForAllRectangles(rRegion=0x000000016fdf2750, aFunction= Lambda in File SlsLayeredDevice.cxx at Line 267) at SlsLayeredDevice.cxx:91:13 frame #24: 0x000000046a4c2d84 libsdlo.dylib`sd::slidesorter::view::LayeredDevice::Repaint(this=0x00006000048fed18, rRepaintRegion=0x000000016fdf2750) at SlsLayeredDevice.cxx:266:5 frame #25: 0x000000046a4ac0a8 libsdlo.dylib`sd::slidesorter::view::SlideSorterView::CompleteRedraw(this=0x00000001411d2000, pDevice=0x000000042c5e50d0, rPaintArea=0x000000016fdf2750, pRedirector=0x0000000000000000) at SlideSorterView.cxx:590:26 frame #26: 0x000000046a447ea4 libsdlo.dylib`sd::slidesorter::controller::SlideSorterController::Paint(this=0x000060000165da40, rBBox=0x000000016fdf31a8, pWindow=0x000060000165cc30) at SlideSorterController.cxx:251:16 frame #27: 0x000000046a4a71d8 libsdlo.dylib`sd::slidesorter::SlideSorterViewShell::Paint(this=0x000000042c543620, rBBox=0x000000016fdf31a8, pWindow=0x000060000165cc30) at SlideSorterViewShell.cxx:456:40 frame #28: 0x000000046a7695bc libsdlo.dylib`sd::Window::Paint(this=0x000060000165cc30, (null)=0x000000042c5e50d0, rRect=0x000000016fdf31a8) at sdwindow.cxx:213:22 frame #29: 0x00000001113a2320 libvcllo.dylib`PaintHelper::DoPaint(this=0x000000016fdf3178, pRegion=0x0000000000000000) at paint.cxx:313:20 frame #30: 0x00000001113a4498 libvcllo.dylib`vcl::Window::ImplCallPaint(this=0x000060000165cc30, pRegion=0x0000000000000000, nPaintFlags=PaintAll | PaintChildren | Erase) at paint.cxx:617:17 frame #31: 0x00000001113a3bd8 libvcllo.dylib`PaintHelper::~PaintHelper(this=0x000000016fdf3458) at paint.cxx:552:30 frame #32: 0x00000001113a46a4 libvcllo.dylib`PaintHelper::~PaintHelper(this=0x000000016fdf3458) at paint.cxx:537:1 frame #33: 0x00000001113a44fc libvcllo.dylib`vcl::Window::ImplCallPaint(this=0x0000600002c282c0, pRegion=0x0000000000000000, nPaintFlags=PaintAll | PaintAllChildren | PaintChildren | Erase) at paint.cxx:623:1 frame #34: 0x00000001113a3bd8 libvcllo.dylib`PaintHelper::~PaintHelper(this=0x000000016fdf3738) at paint.cxx:552:30 frame #35: 0x00000001113a46a4 libvcllo.dylib`PaintHelper::~PaintHelper(this=0x000000016fdf3738) at paint.cxx:537:1 frame #36: 0x00000001113a44fc libvcllo.dylib`vcl::Window::ImplCallPaint(this=0x000000042c52d9f0, pRegion=0x0000000000000000, nPaintFlags=PaintAll | PaintAllChildren | PaintChildren | Erase) at paint.cxx:623:1 frame #37: 0x00000001113a3bd8 libvcllo.dylib`PaintHelper::~PaintHelper(this=0x000000016fdf3a18) at paint.cxx:552:30 frame #38: 0x00000001113a46a4 libvcllo.dylib`PaintHelper::~PaintHelper(this=0x000000016fdf3a18) at paint.cxx:537:1 frame #39: 0x00000001113a44fc libvcllo.dylib`vcl::Window::ImplCallPaint(this=0x00000003da1edb30, pRegion=0x0000000000000000, nPaintFlags=PaintAll | PaintAllChildren | PaintChildren | Erase) at paint.cxx:623:1 frame #40: 0x00000001113a3bd8 libvcllo.dylib`PaintHelper::~PaintHelper(this=0x000000016fdf3cf8) at paint.cxx:552:30 frame #41: 0x00000001113a46a4 libvcllo.dylib`PaintHelper::~PaintHelper(this=0x000000016fdf3cf8) at paint.cxx:537:1 frame #42: 0x00000001113a44fc libvcllo.dylib`vcl::Window::ImplCallPaint(this=0x00006000039b8360, pRegion=0x0000000000000000, nPaintFlags=PaintAll | PaintAllChildren | PaintChildren | Erase) at paint.cxx:623:1 frame #43: 0x00000001113a3bd8 libvcllo.dylib`PaintHelper::~PaintHelper(this=0x000000016fdf3fd8) at paint.cxx:552:30 frame #44: 0x00000001113a46a4 libvcllo.dylib`PaintHelper::~PaintHelper(this=0x000000016fdf3fd8) at paint.cxx:537:1 frame #45: 0x00000001113a44fc libvcllo.dylib`vcl::Window::ImplCallPaint(this=0x000060000018ebc0, pRegion=0x0000000000000000, nPaintFlags=PaintAll | PaintAllChildren | PaintChildren | Erase) at paint.cxx:623:1 frame #46: 0x00000001113a3bd8 libvcllo.dylib`PaintHelper::~PaintHelper(this=0x000000016fdf42b8) at paint.cxx:552:30 frame #47: 0x00000001113a46a4 libvcllo.dylib`PaintHelper::~PaintHelper(this=0x000000016fdf42b8) at paint.cxx:537:1 frame #48: 0x00000001113a44fc libvcllo.dylib`vcl::Window::ImplCallPaint(this=0x000060000126fdc0, pRegion=0x0000600003c6e980, nPaintFlags=PaintAll | PaintAllChildren | PaintChildren | Erase) at paint.cxx:623:1 frame #49: 0x00000001113a3bd8 libvcllo.dylib`PaintHelper::~PaintHelper(this=0x000000016fdf4598) at paint.cxx:552:30 frame #50: 0x00000001113a46a4 libvcllo.dylib`PaintHelper::~PaintHelper(this=0x000000016fdf4598) at paint.cxx:537:1 frame #51: 0x00000001113a44fc libvcllo.dylib`vcl::Window::ImplCallPaint(this=0x000060000023abc0, pRegion=0x0000000000000000, nPaintFlags=PaintAllChildren | PaintChildren | Erase) at paint.cxx:623:1 frame #52: 0x00000001113a506c libvcllo.dylib`vcl::Window::ImplCallOverlapPaint(this=0x000060000023abc0) at paint.cxx:644:9 frame #53: 0x00000001113a5244 libvcllo.dylib`vcl::Window::ImplHandlePaintHdl(this=0x000060000023abc0, (null)=0x000000014001eb00) at paint.cxx:667:9 frame #54: 0x00000001113a50ec libvcllo.dylib`vcl::Window::LinkStubImplHandlePaintHdl(instance=0x000060000023abc0, data=0x000000014001eb00) at paint.cxx:648:1 frame #55: 0x0000000111d23494 libvcllo.dylib`Link<Timer*, void>::Call(this=0x000000014001eb20, data=0x000000014001eb00) const at link.hxx:105:45 frame #56: 0x0000000111d23448 libvcllo.dylib`Timer::Invoke(this=0x000000014001eb00) at timer.cxx:75:21 frame #57: 0x0000000111cdab44 libvcllo.dylib`Scheduler::CallbackTaskScheduling() at scheduler.cxx:607:20 frame #58: 0x0000000117d3d4cc libvclplug_osxlo.dylib`SalTimer::CallCallback(this=0x0000600002491500) at saltimer.hxx:53:13 frame #59: 0x0000000117d3d42c libvclplug_osxlo.dylib`AquaSalTimer::callTimerCallback(this=0x0000600002491500) at saltimer.cxx:140:41 frame #60: 0x0000000117d3d524 libvclplug_osxlo.dylib`AquaSalTimer::handleTimerElapsed(this=0x0000600002491500) at saltimer.cxx:153:9 frame #61: 0x0000000117d11968 libvclplug_osxlo.dylib`AquaSalInstance::DoYield(this=0x00000001400048f0, bWait=true, bHandleAllCurrentEvents=false) at salinst.cxx:636:21 frame #62: 0x0000000111d0130c libvcllo.dylib`ImplYield(i_bWait=true, i_bAllEvents=false) at svapp.cxx:385:48 frame #63: 0x0000000111d00c58 libvcllo.dylib`Application::Yield() at svapp.cxx:488:5 frame #64: 0x0000000111d00988 libvcllo.dylib`Application::Execute() at svapp.cxx:360:13 frame #65: 0x0000000100a40180 libsofficeapp.dylib`desktop::Desktop::Main(this=0x000000016fdf7d50) at app.cxx:1680:13 frame #66: 0x0000000111d1fb88 libvcllo.dylib`ImplSVMain() at svmain.cxx:231:35 frame #67: 0x0000000117d10b34 libvclplug_osxlo.dylib`AquaSalInstance::handleAppDefinedEvent(pEvent=0x0000600001c65f80) at salinst.cxx:454:20 frame #68: 0x0000000117da3c8c libvclplug_osxlo.dylib`-[VCL_NSApplication sendEvent:](self=0x0000000137704d40, _cmd="sendEvent:", pEvent=0x0000600001c65f80) at vclnsapp.mm:99:9 frame #69: 0x000000019369a4a4 AppKit`-[NSApplication _handleEvent:] + 60 frame #70: 0x00000001930f0c8c AppKit`-[NSApplication run] + 520 frame #71: 0x00000001930c735c AppKit`NSApplicationMain + 880 frame #72: 0x0000000117d15974 libvclplug_osxlo.dylib`AquaSalInstance::SVMainHook(this=0x00000001400048f0, pnInit=0x000000016fdf7c44) at salinst.cxx:1112:5 frame #73: 0x0000000111d1fb3c libvcllo.dylib`ImplSVMain() at svmain.cxx:224:54 frame #74: 0x0000000111d21418 libvcllo.dylib`SVMain() at svmain.cxx:249:12 frame #75: 0x0000000100aba224 libsofficeapp.dylib`soffice_main at sofficemain.cxx:122:12 frame #76: 0x0000000100000558 soffice`sal_main at main.c:51:15 frame #77: 0x0000000100000530 soffice`main(argc=4, argv=0x000000016fdf84c8) at main.c:49:1 frame #78: 0x000000018f022b4c dyld`start + 6000 (lldb)
on different branch Devanshs-MacBook-Pro \lode\dev\libreoffice ➜ ( p1-cache-defs 4) 58.025s 12:58 AM ⚡devanshvarshney ❯❯ LANG=C SAL_USE_VCLPLUGIN=gen make debugrun make -j 8 -rs -f /Users/devanshvarshney/lode/dev/libreoffice/Makefile.gbuild debugrun (lldb) target create "/Users/devanshvarshney/lode/dev/libreoffice/instdir/LibreOfficeDev.app/Contents/MacOS/soffice" Current executable set to '/Users/devanshvarshney/lode/dev/libreoffice/instdir/LibreOfficeDev.app/Contents/MacOS/soffice' (arm64). (lldb) settings set -- target.run-args "--norestore" "--nologo" "\"--accept=pipe,name=devanshvarshney\\;urp\"" (lldb) b sd/source/ui/slidesorter/view/SlsFramePainter.cxx:47 Breakpoint 1: no locations (pending). WARNING: Unable to resolve breakpoint to any actual locations. (lldb) b PasswordDialog::PasswordDialog Breakpoint 2: no locations (pending). WARNING: Unable to resolve breakpoint to any actual locations. (lldb) run Process 97441 launched: '/Users/devanshvarshney/lode/dev/libreoffice/instdir/LibreOfficeDev.app/Contents/MacOS/soffice' (arm64) warn:sal.osl:97441:10567325:sal/osl/unx/module.cxx:103: dlopen(/Users/devanshvarshney/lode/dev/libreoffice/instdir/LibreOfficeDev.app/Contents/Frameworks/libvclplug_genlo.dylib, 9): dlopen(/Users/devanshvarshney/lode/dev/libreoffice/instdir/LibreOfficeDev.app/Contents/Frameworks/libvclplug_genlo.dylib, 0x0009): tried: '/Users/devanshvarshney/lode/dev/libreoffice/instdir/LibreOfficeDev.app/Contents/Frameworks/libvclplug_genlo.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/devanshvarshney/lode/dev/libreoffice/instdir/LibreOfficeDev.app/Contents/Frameworks/libvclplug_genlo.dylib' (no such file), '/Users/devanshvarshney/lode/dev/libreoffice/instdir/LibreOfficeDev.app/Contents/Frameworks/libvclplug_genlo.dylib' (no such file) warn:vcl.plugadapt:97441:10567325:vcl/source/app/salplug.cxx:158: could not load shared object libvclplug_genlo.dylib warn:vcl.skia:97441:10567325:vcl/quartz/cgutils.mm:105: Default MTLDevice is "Apple M4" 2 locations added to breakpoint 2 1 location added to breakpoint 1 warn:vcl.app:97441:10567325:vcl/source/app/UserResourceScanner.cxx:51: Could not determine status for file 'file:///Users/devanshvarshney/lode/dev/libreoffice/instdir/LibreOfficeDev.app/Contents/user/themes'. 2025-05-15 01:01:28.988359+0530 soffice[97441:10568104] [logging-persist] cannot open file at line 49448 of [1b37c146ee] 2025-05-15 01:01:28.988371+0530 soffice[97441:10568104] [logging-persist] os_unix.c:49448: (2) open(/private/var/db/DetachedSignatures) - No such file or directory Process 97441 stopped * thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1 frame #0: 0x000000044866a728 libsdlo.dylib`sd::slidesorter::view::FramePainter::FramePainter(this=0x0000000132481600, rShadowBitmap=0x000000043fee1f40) at SlsFramePainter.cxx:47:9 44 else 45 { 46 OSL_ASSERT(rShadowBitmap.GetSizePixel().Width() == rShadowBitmap.GetSizePixel().Height()); -> 47 OSL_ASSERT((rShadowBitmap.GetSizePixel().Width()-1)%2 == 0); 48 OSL_ASSERT(((rShadowBitmap.GetSizePixel().Width()-1)/2)%2 == 1); 49 } 50 } Target 0: (soffice) stopped. (lldb) p rShadowBitmap.GetSizePixel().Width() (tools::Long) 20 (lldb) expr rShadowBitmap.GetSizePixel().Width() (tools::Long) $0 = 20 (lldb) expr (rShadowBitmap.GetSizePixel().Width() - 1) % 2 (tools::Long) $1 = 1 (lldb) expr rShadowBitmap.GetSizePixel().Width() == rShadowBitmap.GetSizePixel().Height() (bool) $2 = true (lldb) p rShadowBitmap.GetSizePixel().Height() (tools::Long) 20 (lldb) bt * thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1 * frame #0: 0x000000044866a728 libsdlo.dylib`sd::slidesorter::view::FramePainter::FramePainter(this=0x0000000132481600, rShadowBitmap=0x000000043fee1f40) at SlsFramePainter.cxx:47:9 frame #1: 0x000000044866a950 libsdlo.dylib`sd::slidesorter::view::FramePainter::FramePainter(this=0x0000000132481600, rShadowBitmap=0x000000043fee1f40) at SlsFramePainter.cxx:37:1 frame #2: 0x000000044868b290 libsdlo.dylib`sd::slidesorter::view::PageObjectPainter::PageObjectPainter(this=0x0000600002e3abf8, rSlideSorter=0x0000600002c3ad10) at SlsPageObjectPainter.cxx:48:32 frame #3: 0x000000044868b45c libsdlo.dylib`sd::slidesorter::view::PageObjectPainter::PageObjectPainter(this=0x0000600002e3abf8, rSlideSorter=0x0000600002c3ad10) at SlsPageObjectPainter.cxx:49:1 frame #4: 0x0000000448669f7c libsdlo.dylib`sd::slidesorter::view::PageObjectPainter* std::__1::construct_at[abi:ne190102]<sd::slidesorter::view::PageObjectPainter, sd::slidesorter::SlideSorter&, sd::slidesorter::view::PageObjectPainter*>(__location=0x0000600002e3abf8, __args=0x0000600002c3ad10) at construct_at.h:41:83 frame #5: 0x0000000448669f4c libsdlo.dylib`sd::slidesorter::view::PageObjectPainter* std::__1::__construct_at[abi:ne190102]<sd::slidesorter::view::PageObjectPainter, sd::slidesorter::SlideSorter&, sd::slidesorter::view::PageObjectPainter*>(__location=0x0000600002e3abf8, __args=0x0000600002c3ad10) at construct_at.h:49:10 frame #6: 0x0000000448669d68 libsdlo.dylib`void std::__1::allocator_traits<std::__1::allocator<sd::slidesorter::view::PageObjectPainter>>::construct[abi:ne190102]<sd::slidesorter::view::PageObjectPainter, sd::slidesorter::SlideSorter&, void, 0>((null)=0x000000016fdf2066, __p=0x0000600002e3abf8, __args=0x0000600002c3ad10) at allocator_traits.h:328:5 frame #7: 0x0000000448669c74 libsdlo.dylib`std::__1::__shared_ptr_emplace<sd::slidesorter::view::PageObjectPainter, std::__1::allocator<sd::slidesorter::view::PageObjectPainter>>::__shared_ptr_emplace[abi:ne190102]<sd::slidesorter::SlideSorter&, std::__1::allocator<sd::slidesorter::view::PageObjectPainter>, 0>(this=0x0000600002e3abe0, __a=allocator<sd::slidesorter::view::PageObjectPainter> @ 0x000000016fdf2067, __args=0x0000600002c3ad10) at shared_ptr.h:266:5 frame #8: 0x000000044866992c libsdlo.dylib`std::__1::__shared_ptr_emplace<sd::slidesorter::view::PageObjectPainter, std::__1::allocator<sd::slidesorter::view::PageObjectPainter>>::__shared_ptr_emplace[abi:ne190102]<sd::slidesorter::SlideSorter&, std::__1::allocator<sd::slidesorter::view::PageObjectPainter>, 0>(this=0x0000600002e3abe0, __a=allocator<sd::slidesorter::view::PageObjectPainter> @ 0x000000016fdf209f, __args=0x0000600002c3ad10) at shared_ptr.h:263:115 frame #9: 0x0000000448669800 libsdlo.dylib`std::__1::shared_ptr<sd::slidesorter::view::PageObjectPainter> std::__1::allocate_shared[abi:ne190102]<sd::slidesorter::view::PageObjectPainter, std::__1::allocator<sd::slidesorter::view::PageObjectPainter>, sd::slidesorter::SlideSorter&, 0>(__a=0x000000016fdf2157, __args=0x0000600002c3ad10) at shared_ptr.h:845:51 frame #10: 0x0000000448664da4 libsdlo.dylib`std::__1::shared_ptr<sd::slidesorter::view::PageObjectPainter> std::__1::make_shared[abi:ne190102]<sd::slidesorter::view::PageObjectPainter, sd::slidesorter::SlideSorter&, 0>(__args=0x0000600002c3ad10) at shared_ptr.h:853:10 frame #11: 0x0000000448662838 libsdlo.dylib`sd::slidesorter::view::SlideSorterView::GetPageObjectPainter(this=0x000000013232d400) at SlideSorterView.cxx:822:31 frame #12: 0x0000000448664130 libsdlo.dylib`sd::slidesorter::view::SlideSorterView::Paint(this=0x000000013232d400, rDevice=0x000000043fee1fa0, rRepaintArea=0x0000600000508060) at SlideSorterView.cxx:625:16 frame #13: 0x000000044866810c libsdlo.dylib`sd::slidesorter::view::(anonymous namespace)::Painter::Paint(this=0x00006000015935e8, rDevice=0x000000043fee1fa0, rRepaintArea=0x0000600000508060) at SlideSorterView.cxx:74:20 frame #14: 0x000000044867b4a0 libsdlo.dylib`sd::slidesorter::view::(anonymous namespace)::Layer::Repaint(this=0x0000600002c3a7e8, rTargetDevice=0x000000043fee1fa0, rRepaintRectangle=0x0000600000508060) at SlsLayeredDevice.cxx:445:17 frame #15: 0x000000044867b368 libsdlo.dylib`sd::slidesorter::view::LayeredDevice::RepaintRectangle(this=0x00006000065590f8, rRepaintRectangle=0x0000600000508060) at SlsLayeredDevice.cxx:287:17 frame #16: 0x0000000448685920 libsdlo.dylib`sd::slidesorter::view::LayeredDevice::Repaint(vcl::Region const&)::$_0::operator()(this=0x000000016fdf2680, r=0x0000600000508060) const at SlsLayeredDevice.cxx:267:58 frame #22: 0x000000044867d5c4 libsdlo.dylib`std::__1::function<void (tools::Rectangle const&)>::operator()(this= Lambda in File SlsLayeredDevice.cxx at Line 267, __arg=0x0000600000508060) const at function.h:989:10 frame #23: 0x000000044867b160 libsdlo.dylib`sd::slidesorter::view::(anonymous namespace)::ForAllRectangles(rRegion=0x000000016fdf2750, aFunction= Lambda in File SlsLayeredDevice.cxx at Line 267) at SlsLayeredDevice.cxx:91:13 frame #24: 0x000000044867ad84 libsdlo.dylib`sd::slidesorter::view::LayeredDevice::Repaint(this=0x00006000065590f8, rRepaintRegion=0x000000016fdf2750) at SlsLayeredDevice.cxx:266:5 frame #25: 0x00000004486640a8 libsdlo.dylib`sd::slidesorter::view::SlideSorterView::CompleteRedraw(this=0x000000013232d400, pDevice=0x000000043fedb680, rPaintArea=0x000000016fdf2750, pRedirector=0x0000000000000000) at SlideSorterView.cxx:590:26 frame #26: 0x00000004485ffea4 libsdlo.dylib`sd::slidesorter::controller::SlideSorterController::Paint(this=0x0000600003bf2df0, rBBox=0x000000016fdf31a8, pWindow=0x0000600003bf2d00) at SlideSorterController.cxx:251:16 frame #27: 0x000000044865f1d8 libsdlo.dylib`sd::slidesorter::SlideSorterViewShell::Paint(this=0x000000043feda450, rBBox=0x000000016fdf31a8, pWindow=0x0000600003bf2d00) at SlideSorterViewShell.cxx:456:40 frame #28: 0x00000004489215bc libsdlo.dylib`sd::Window::Paint(this=0x0000600003bf2d00, (null)=0x000000043fedb680, rRect=0x000000016fdf31a8) at sdwindow.cxx:213:22 frame #29: 0x00000001113a2320 libvcllo.dylib`PaintHelper::DoPaint(this=0x000000016fdf3178, pRegion=0x0000000000000000) at paint.cxx:313:20 frame #30: 0x00000001113a4498 libvcllo.dylib`vcl::Window::ImplCallPaint(this=0x0000600003bf2d00, pRegion=0x0000000000000000, nPaintFlags=PaintAll | PaintChildren | Erase) at paint.cxx:617:17 frame #31: 0x00000001113a3bd8 libvcllo.dylib`PaintHelper::~PaintHelper(this=0x000000016fdf3458) at paint.cxx:552:30 frame #32: 0x00000001113a46a4 libvcllo.dylib`PaintHelper::~PaintHelper(this=0x000000016fdf3458) at paint.cxx:537:1 frame #33: 0x00000001113a44fc libvcllo.dylib`vcl::Window::ImplCallPaint(this=0x00006000001f8f60, pRegion=0x0000000000000000, nPaintFlags=PaintAll | PaintAllChildren | PaintChildren | Erase) at paint.cxx:623:1 frame #34: 0x00000001113a3bd8 libvcllo.dylib`PaintHelper::~PaintHelper(this=0x000000016fdf3738) at paint.cxx:552:30 frame #35: 0x00000001113a46a4 libvcllo.dylib`PaintHelper::~PaintHelper(this=0x000000016fdf3738) at paint.cxx:537:1 frame #36: 0x00000001113a44fc libvcllo.dylib`vcl::Window::ImplCallPaint(this=0x000000043fe08e20, pRegion=0x0000000000000000, nPaintFlags=PaintAll | PaintAllChildren | PaintChildren | Erase) at paint.cxx:623:1 frame #37: 0x00000001113a3bd8 libvcllo.dylib`PaintHelper::~PaintHelper(this=0x000000016fdf3a18) at paint.cxx:552:30 frame #38: 0x00000001113a46a4 libvcllo.dylib`PaintHelper::~PaintHelper(this=0x000000016fdf3a18) at paint.cxx:537:1 frame #39: 0x00000001113a44fc libvcllo.dylib`vcl::Window::ImplCallPaint(this=0x000000042bdd5390, pRegion=0x0000000000000000, nPaintFlags=PaintAll | PaintAllChildren | PaintChildren | Erase) at paint.cxx:623:1 frame #40: 0x00000001113a3bd8 libvcllo.dylib`PaintHelper::~PaintHelper(this=0x000000016fdf3cf8) at paint.cxx:552:30 frame #41: 0x00000001113a46a4 libvcllo.dylib`PaintHelper::~PaintHelper(this=0x000000016fdf3cf8) at paint.cxx:537:1 frame #42: 0x00000001113a44fc libvcllo.dylib`vcl::Window::ImplCallPaint(this=0x00006000015c7a80, pRegion=0x0000000000000000, nPaintFlags=PaintAll | PaintAllChildren | PaintChildren | Erase) at paint.cxx:623:1 frame #43: 0x00000001113a3bd8 libvcllo.dylib`PaintHelper::~PaintHelper(this=0x000000016fdf3fd8) at paint.cxx:552:30 frame #44: 0x00000001113a46a4 libvcllo.dylib`PaintHelper::~PaintHelper(this=0x000000016fdf3fd8) at paint.cxx:537:1 frame #45: 0x00000001113a44fc libvcllo.dylib`vcl::Window::ImplCallPaint(this=0x0000600002c290a0, pRegion=0x0000000000000000, nPaintFlags=PaintAll | PaintAllChildren | PaintChildren | Erase) at paint.cxx:623:1 frame #46: 0x00000001113a3bd8 libvcllo.dylib`PaintHelper::~PaintHelper(this=0x000000016fdf42b8) at paint.cxx:552:30 frame #47: 0x00000001113a46a4 libvcllo.dylib`PaintHelper::~PaintHelper(this=0x000000016fdf42b8) at paint.cxx:537:1 frame #48: 0x00000001113a44fc libvcllo.dylib`vcl::Window::ImplCallPaint(this=0x0000600003fdfdc0, pRegion=0x0000600001f9ac00, nPaintFlags=PaintAll | PaintAllChildren | PaintChildren | Erase) at paint.cxx:623:1 frame #49: 0x00000001113a3bd8 libvcllo.dylib`PaintHelper::~PaintHelper(this=0x000000016fdf4598) at paint.cxx:552:30 frame #50: 0x00000001113a46a4 libvcllo.dylib`PaintHelper::~PaintHelper(this=0x000000016fdf4598) at paint.cxx:537:1 frame #51: 0x00000001113a44fc libvcllo.dylib`vcl::Window::ImplCallPaint(this=0x0000600002f9b560, pRegion=0x0000000000000000, nPaintFlags=PaintAllChildren | PaintChildren | Erase) at paint.cxx:623:1 frame #52: 0x00000001113a506c libvcllo.dylib`vcl::Window::ImplCallOverlapPaint(this=0x0000600002f9b560) at paint.cxx:644:9 frame #53: 0x00000001113a5244 libvcllo.dylib`vcl::Window::ImplHandlePaintHdl(this=0x0000600002f9b560, (null)=0x0000000131e31260) at paint.cxx:667:9 frame #54: 0x00000001113a50ec libvcllo.dylib`vcl::Window::LinkStubImplHandlePaintHdl(instance=0x0000600002f9b560, data=0x0000000131e31260) at paint.cxx:648:1 frame #55: 0x0000000111d23494 libvcllo.dylib`Link<Timer*, void>::Call(this=0x0000000131e31280, data=0x0000000131e31260) const at link.hxx:105:45 frame #56: 0x0000000111d23448 libvcllo.dylib`Timer::Invoke(this=0x0000000131e31260) at timer.cxx:75:21 frame #57: 0x0000000111cdab44 libvcllo.dylib`Scheduler::CallbackTaskScheduling() at scheduler.cxx:607:20 frame #58: 0x0000000117d3d4cc libvclplug_osxlo.dylib`SalTimer::CallCallback(this=0x0000600000927cf0) at saltimer.hxx:53:13 frame #59: 0x0000000117d3d42c libvclplug_osxlo.dylib`AquaSalTimer::callTimerCallback(this=0x0000600000927cf0) at saltimer.cxx:140:41 frame #60: 0x0000000117d3d524 libvclplug_osxlo.dylib`AquaSalTimer::handleTimerElapsed(this=0x0000600000927cf0) at saltimer.cxx:153:9 frame #61: 0x0000000117d11968 libvclplug_osxlo.dylib`AquaSalInstance::DoYield(this=0x0000000121e04300, bWait=true, bHandleAllCurrentEvents=false) at salinst.cxx:636:21 frame #62: 0x0000000111d0130c libvcllo.dylib`ImplYield(i_bWait=true, i_bAllEvents=false) at svapp.cxx:385:48 frame #63: 0x0000000111d00c58 libvcllo.dylib`Application::Yield() at svapp.cxx:488:5 frame #64: 0x0000000111d00988 libvcllo.dylib`Application::Execute() at svapp.cxx:360:13 frame #65: 0x0000000100a40180 libsofficeapp.dylib`desktop::Desktop::Main(this=0x000000016fdf7d50) at app.cxx:1680:13 frame #66: 0x0000000111d1fb88 libvcllo.dylib`ImplSVMain() at svmain.cxx:231:35 frame #67: 0x0000000117d10b34 libvclplug_osxlo.dylib`AquaSalInstance::handleAppDefinedEvent(pEvent=0x00006000031c7240) at salinst.cxx:454:20 frame #68: 0x0000000117da3c8c libvclplug_osxlo.dylib`-[VCL_NSApplication sendEvent:](self=0x0000000121f04420, _cmd="sendEvent:", pEvent=0x00006000031c7240) at vclnsapp.mm:99:9 frame #69: 0x000000019369a4a4 AppKit`-[NSApplication _handleEvent:] + 60 frame #70: 0x00000001930f0c8c AppKit`-[NSApplication run] + 520 frame #71: 0x00000001930c735c AppKit`NSApplicationMain + 880 frame #72: 0x0000000117d15974 libvclplug_osxlo.dylib`AquaSalInstance::SVMainHook(this=0x0000000121e04300, pnInit=0x000000016fdf7c44) at salinst.cxx:1112:5 frame #73: 0x0000000111d1fb3c libvcllo.dylib`ImplSVMain() at svmain.cxx:224:54 frame #74: 0x0000000111d21418 libvcllo.dylib`SVMain() at svmain.cxx:249:12 frame #75: 0x0000000100aba224 libsofficeapp.dylib`soffice_main at sofficemain.cxx:122:12 frame #76: 0x0000000100000558 soffice`sal_main at main.c:51:15 frame #77: 0x0000000100000530 soffice`main(argc=4, argv=0x000000016fdf84c8) at main.c:49:1 frame #78: 0x000000018f022b4c dyld`start + 6000 (lldb)