https://bugs.documentfoundation.org/show_bug.cgi?id=90956
Michael Meeks <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #7 from Michael Meeks <[email protected]> --- Hi there; an interesting trace. Caolan - is this expected ? - I imagine that the Combobox is re-sizing itself as it is destroyed (which is fun ;-) again, changes in which vtable gets used means that we now hit ComboBox::Resize in dispose rather than Window::Resize - which is interesting. Anyhow - I've fixed ComboBox::Resize (just testing the patch), but I was wondering if this might help too: 0 libvcllo.dylib 0x0000000103d0a1d9 ComboBox::Resize() + 185 1 libvcllo.dylib 0x0000000103c74c10 vcl::Window::ImplCallResize() + 96 2 libvcllo.dylib 0x0000000103ce9b58 vcl::Window::ImplPosSizeWindow(long, long, long, long, unsigned short) + 1944 3 libvcllo.dylib 0x0000000103c35c50 ImplBorderWindow::Resize() + 384 4 libvcllo.dylib 0x0000000103c3287e ImplSmallBorderWindowView::Init(OutputDevice*, long, long) + 1550 5 libvcllo.dylib 0x0000000103c35c71 ImplBorderWindow::Resize() + 417 6 libvcllo.dylib 0x0000000103ce33dc vcl::Window::remove_from_all_size_groups() + 92 7 libvcllo.dylib 0x0000000103ce649d vcl::Window::dispose() + 2429 8 libvcllo.dylib 0x0000000103d169c5 Edit::dispose() + 949 9 libvcllo.dylib 0x0000000103d08723 ComboBox::dispose() + 323 10 libvcllo.dylib 0x0000000103c44712 VclBuilder::disposeBuilder() + 82 11 libvcllo.dylib 0x0000000103cc3335 TabPage::dispose() + 21 12 libsfxlo.dylib 0x0000000102b8ab77 SfxTabDialog::RemoveTabPage(unsigned short) + 663 13 libpdffilterlo.dylib 0x000000010d339ed5 ImpPDFTabDialog::dispose() + 21 14 libsvtlo.dylib 0x00000001032f4ce3 svt::OGenericUnoDialog::destroyDialog() + 67 15 libpdffilterlo.dylib 0x000000010d348f41 PDFDialog::executedDialog(short) + 321 --- a/vcl/source/window/window2.cxx +++ b/vcl/source/window/window2.cxx @@ -1443,7 +1443,7 @@ void Window::InvalidateSizeCache() void Window::queue_resize(StateChangedType eReason) { - if (IsDisposed()) + if (IsDisposed() || mpWindowImpl->mbInDispose) return; bool bSomeoneCares = queue_ungrouped_resize(this); -- But I'm no expert in the resize logic. Clearly we want to queue (but not do) a resize on the parent sizegroup or parent widget for later in the dispose case - since we know that the parent will in turn be shortly afterwards destroyed by the builder ;-) rather than doing that work. Any thoughts ? =) -- You are receiving this mail because: You are the assignee for the bug.
_______________________________________________ Libreoffice-bugs mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
