I'm not filing this as a bug as I'm not sure it is. The project Richard and I work on was segfaulting when opening a submenu. I enclose the stacktrace from GDB and a small project that elicits it. As you can see from the project, the cause is generating the submenu structure twice, the second time from within the Menu_Show () handler.
By only generating the menus once the problem is solved. Ian
Program received signal SIGSEGV, Segmentation fault. 0x002d05e0 in ?? () from /lib/tls/i686/cmov/libc.so.6 (gdb) bt #0 0x002d05e0 in ?? () from /lib/tls/i686/cmov/libc.so.6 #1 0x00dfad50 in ?? () from /usr/lib/libQtGui.so.4 #2 0x00dfc39f in QMenu::popup(QPoint const&, QAction*) () from /usr/lib/libQtGui.so.4 #3 0x00dfef05 in QMenu::internalDelayedPopup() () from /usr/lib/libQtGui.so.4 #4 0x00dff486 in QMenu::timerEvent(QTimerEvent*) () from /usr/lib/libQtGui.so.4 #5 0x0141a254 in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4 #6 0x009b8326 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4 #7 0x00e020cc in QMenu::event(QEvent*) () from /usr/lib/libQtGui.so.4 #8 0x0095a4dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #9 0x009610f9 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #10 0x01409a3b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 #11 0x01438d66 in ?? () from /usr/lib/libQtCore.so.4 #12 0x01435917 in ?? () from /usr/lib/libQtCore.so.4 #13 0x017105e5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 #14 0x017142d8 in ?? () from /lib/libglib-2.0.so.0 #15 0x017144b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #16 0x014355d5 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #17 0x00a1a135 in ?? () from /usr/lib/libQtGui.so.4 #18 0x01408059 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #19 0x014084aa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #20 0x00dfcdde in QMenu::exec(QPoint const&, QAction*) () from /usr/lib/libQtGui.so.4 #21 0x0033293c in CMENU_popup (_object=0x824ac1c, pos=...) at CMenu.cpp:595 #22 0x00332a17 in Menu_Popup (_object=0x824ac1c, _param=0x80a7abc) at CMenu.cpp:624 #23 0x08056052 in EXEC_native () at gbx_exec.c:1243 #24 0x080552db in EXEC_native_check (defined=1 '\001') at gbx_exec.c:1035 #25 0x0808e54a in EXEC_loop () at gbx_exec_loop.c:979 #26 0x08054af1 in EXEC_function_loop () at gbx_exec.c:861 #27 0x08054a6b in EXEC_function_real () at gbx_exec.c:848 #28 0x08056b77 in EXEC_public_desc (class=0x80d567c, object=0x826e3d4, desc=0x80eed5c, nparam=0) at gbx_exec.c:1497 #29 0x08071759 in raise_event (observer=0x826e3d4, object=0x8253a5c, func_id=118, nparam=0) at gbx_api.c:476 #30 0x080719db in GB_Raise (object=0x8253a5c, event_id=6, nparam=0) at gbx_api.c:580 #31 0x0031cc31 in CWidget::eventFilter (this=0x383644, widget=0x824b5b8, event=0xbfffeae0) at CWidget.cpp:2277 #32 0x01408d9c in QCoreApplicationPrivate::sendThroughApplicationEventFilters(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 #33 0x0095a463 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #34 0x009619f7 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #35 0x01409a3b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 #36 0x00960952 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQtGui.so.4 #37 0x009ec088 in ?? () from /usr/lib/libQtGui.so.4 #38 0x009eb511 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4 #39 0x00a1a60a in ?? () from /usr/lib/libQtGui.so.4 #40 0x017105e5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 #41 0x017142d8 in ?? () from /lib/libglib-2.0.so.0 #42 0x017144b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #43 0x014355d5 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #44 0x00a1a135 in ?? () from /usr/lib/libQtGui.so.4 #45 0x01408059 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #46 0x014084aa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #47 0x0140c69f in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4 #48 0x0095a577 in QApplication::exec() () from /usr/lib/libQtGui.so.4 #49 0x0031368c in hook_loop () at main.cpp:721 #50 0x0807bc26 in main (argc=1, argv=0xbffff524) at gbx.c:371
elicit-sig11-with-menu-0.0.1.tar.gz
Description: GNU Zip compressed data
------------------------------------------------------------------------------ Learn how Oracle Real Application Clusters (RAC) One Node allows customers to consolidate database storage, standardize their database environment, and, should the need arise, upgrade to a full multi-node Oracle RAC database without downtime or disruption http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________ Gambas-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/gambas-user
