QMenu Crashed On win10 sometimes, Why?
Unsolved
General and Desktop
-
Qt5Core.dll!QRect::QRect(const QPoint & atopLeft, const QSize & asize) 行 191 C++ qwindows.dll!QWindowsWindow::initialize() 行 1385 C++ Qt5Gui.dll!QWindowPrivate::create(bool recursive, unsigned int nativeHandle) 行 538 C++ Qt5Gui.dll!QWindow::create() 行 651 C++ Qt5Widgets.dll!QWidgetPrivate::create() 行 1316 C++ Qt5Widgets.dll!QWidget::create(unsigned int window, bool initializeWindow, bool destroyOldWindow) 行 1182 C++ Qt5Widgets.dll!QWidgetPrivate::createWinId() 行 2386 C++ Qt5Widgets.dll!QWidgetPrivate::setScreen(QScreen * screen) 行 2421 C++ Qt5Widgets.dll!QMenuPrivate::popup(const QPoint & p, QAction * atAction, std::function<QPoint __cdecl(QSize const &)> positionFunction) 行 2388 C++ Qt5Widgets.dll!QMenu::popup(const QPoint & p, QAction * atAction) 行 2355 C++ Qt5Widgets.dll!QMenu::internalDelayedPopup() 行 3676 C++ Qt5Widgets.dll!QMenuPrivate::popupAction(QAction * action, int delay, bool activateFirst) 行 633 C++ Qt5Widgets.dll!QMenuPrivate::setCurrentAction(QAction * action, int popup, QMenuPrivate::SelectionReason reason, bool activateFirst) 行 726 C++ Qt5Widgets.dll!QMenu::mouseMoveEvent(QMouseEvent * e) 行 3497 C++ > Qt5Widgets.dll!QWidget::event(QEvent * event) 行 9082 C++ Qt5Widgets.dll!QMenu::event(QEvent * e) 行 3088 C++ Qt5Widgets.dll!QApplicationPrivate::notify_helper(QObject * receiver, QEvent * e) 行 3632 C++ Qt5Widgets.dll!QApplication::notify(QObject * receiver, QEvent * e) 行 3076 C++ Qt5Core.dll!QCoreApplication::notifyInternal2(QObject * receiver, QEvent * event) 行 1063 C++ Qt5Widgets.dll!QApplicationPrivate::sendMouseEvent(QWidget * receiver, QMouseEvent * event, QWidget * alienWidget, QWidget * nativeWidget, QWidget * * buttonDown, QPointer<QWidget> & lastMouseReceiver, bool spontaneous, bool onlyDispatchEnterLeave) 行 2614 C++ Qt5Widgets.dll!QWidgetWindow::handleMouseEvent(QMouseEvent * event) 行 580 C++ Qt5Widgets.dll!QWidgetWindow::event(QEvent * event) 行 300 C++ Qt5Widgets.dll!QApplicationPrivate::notify_helper(QObject * receiver, QEvent * e) 行 3632 C++ Qt5Widgets.dll!QApplication::notify(QObject * receiver, QEvent * e) 行 3587 C++ Qt5Core.dll!QCoreApplication::notifyInternal2(QObject * receiver, QEvent * event) 行 1063 C++ Qt5Gui.dll!QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent * e) 行 2283 C++ Qt5Gui.dll!QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent * e) 行 2002 C++ Qt5Gui.dll!QWindowSystemInterface::sendWindowSystemEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) 行 1169 C++ qwindows.dll!QWindowsGuiEventDispatcher::sendPostedEvents() 行 81 C++ Qt5Core.dll!QEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) 行 530 C++ qwindows.dll!QWindowsGuiEventDispatcher::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) 行 74 C++ Qt5Core.dll!QEventLoop::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag>) 行 139 C++ Qt5Core.dll!QEventLoop::exec(QFlags<enum QEventLoop::ProcessEventsFlag> flags) 行 232 C++ Qt5Core.dll!QCoreApplication::exec() 行 1372 C++
-
@jsulm sorry I can't provide code because it in a big project.
We replace our WTL App msg loop with Qt's and Embeded Wtl Window in Qt Widget.
Qt Version: 5.15.2.
OS: Win 10https://github.com/qt/qtbase/blob/dev/src/plugins/platforms/windows/qwindowswindow.cpp#L1537
According above code, creationContext is null and no nullptr check.