Closed Bug 1455177 Opened 2 years ago Closed 2 years ago

NativeMoveResize() attempts to resize windows to zero area

Categories

(Core :: Widget: Gtk, defect, P3)

defect

Tracking

()

RESOLVED FIXED
mozilla61
Tracking Status
firefox-esr52 --- wontfix
firefox-esr60 --- wontfix
firefox59 --- wontfix
firefox60 --- wontfix
firefox61 --- fixed

People

(Reporter: karlt, Assigned: karlt)

References

Details

(Keywords: regression)

Attachments

(1 file)

https://treeherder.mozilla.org/#/jobs?repo=try&revision=07db76eb4eb724eb1d395572bf5d82925142c2ce&selectedJob=174394067
shows a crash stack for a window being resized to zero width or height at

https://hg.mozilla.org/try/annotate/37c12ff4ca2f/widget/gtk/nsWindow.cpp#l4189

#01: nsWindow::Resize [widget/gtk/nsWindow.cpp:1160]

#02: nsBaseWidget::ResizeClient [widget/nsBaseWidget.cpp:1602]

#03: nsView::DoResetWidgetBounds [view/nsView.cpp:369]

#04: nsViewManager::ProcessPendingUpdatesForView [view/nsViewManager.cpp:385]

#05: nsViewManager::ProcessPendingUpdates [view/nsViewManager.cpp:1099]

#06: nsRefreshDriver::Tick [layout/base/nsRefreshDriver.cpp:2063]

#07: mozilla::RefreshDriverTimer::TickRefreshDrivers [layout/base/nsRefreshDriver.cpp:313]

#08: mozilla::RefreshDriverTimer::Tick [layout/base/nsRefreshDriver.cpp:335]

#09: mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::TickRefreshDriver [layout/base/nsRefreshDriver.cpp:690]

#10: mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::ParentProcessVsyncNotifier::Run [layout/base/nsRefreshDriver.cpp:535]

#11: nsThread::ProcessNextEvent [mfbt/Maybe.h:487]

#12: NS_ProcessNextEvent [xpcom/threads/nsThreadUtils.cpp:517]

#13: mozilla::ipc::MessagePump::Run [ipc/glue/MessagePump.cpp:98]

#14: MessageLoop::RunInternal [ipc/chromium/src/base/message_loop.cc:327]

#15: MessageLoop::Run [ipc/chromium/src/base/message_loop.cc:298]

#16: nsBaseAppShell::Run [widget/nsBaseAppShell.cpp:159]

#17: nsAppStartup::Run [toolkit/components/startup/nsAppStartup.cpp:291]

#18: XREMain::XRE_mainRun [toolkit/xre/nsAppRunner.cpp:4725]

#19: XREMain::XRE_main [toolkit/xre/nsAppRunner.cpp:4869]

#20: XRE_main [toolkit/xre/nsAppRunner.cpp:4961]

#21: do_main [browser/app/nsBrowserApp.cpp:231]

#22: main [browser/app/nsBrowserApp.cpp:306]

The AreBoundsSane() test above was meant to prevent this by merely hiding the
window, but the early return which is in NativeResize()
https://hg.mozilla.org/try/annotate/37c12ff4ca2f/widget/gtk/nsWindow.cpp#l4120
is missing from NativeMoveResize()
https://hg.mozilla.org/try/annotate/37c12ff4ca2f/widget/gtk/nsWindow.cpp#l4176

This is a regression from moving the AreBoundsSane() test from
https://hg.mozilla.org/mozilla-central/rev/cb0eda54dfab#l1.139
See Also: → 1451098
Comment on attachment 8969156 [details]
bug 1455177 do not resize but only hide window when bounds make the window empty

https://reviewboard.mozilla.org/r/237882/#review243704
Attachment #8969156 - Flags: review?(bwerth) → review+
Pushed by ktomlinson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/fd4e874f6c6f
do not resize but only hide window when bounds make the window empty r=bradwerth
https://hg.mozilla.org/mozilla-central/rev/fd4e874f6c6f
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla61
This doesn't feel like ESR material.  Please reset status flag and request uplift if you disagree.
You need to log in before you can comment on or make changes to this bug.