Opened 8 months ago

Last modified 8 months ago

#15765 accepted defect

wxPopupWindow crash on OSX

Reported by: robind Owned by: csomor
Priority: normal Milestone:
Component: wxOSX-Cocoa Version: 3.0.0
Keywords: Cc:
Blocked By: Blocking:
Patch: no

Description

Problem observed on OSX 10.8.

When displaying a CallTip in wxSTC (which uses a class derived from wxPopupWindow) there is a crash on wxOSX-Carbon with the the stack trace shown below. This is with wx built from the 3.0 release tag, and it looks like it is also present in the current WX_3_0_BRANCH. If I add the wxFRAME_TOOL_WINDOW style to STC's call to the wxPopupWindow ctor in order to avoid the call to makeKeyAndOrderFront then it doesn't crash. But it really shouldn't crash in the other case of course.

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libobjc.A.dylib               	0x00007fff91a66250 objc_msgSend + 16
1   com.apple.AppKit              	0x00007fff90e8df04 -[NSWindow _changeKeyAndMainLimitedOK:] + 719
2   com.apple.AppKit              	0x00007fff90e8d76b -[NSWindow _makeKeyRegardlessOfVisibility] + 104
3   com.apple.AppKit              	0x00007fff90e8d6c5 -[NSWindow makeKeyAndOrderFront:] + 25
4   libwx_osx_cocoau-3.0.0.0.0.dylib	0x000000010172294b wxNonOwnedWindowCocoaImpl::Show(bool) + 529 (nonownedwnd.mm:743)
5   libwx_osx_cocoau-3.0.0.0.0.dylib	0x00000001015a8676 wxNonOwnedWindow::Show(bool) + 148 (nonownedwnd_osx.cpp:379)
6   libwx_osx_cocoau-3.0.0.0.0.dylib	0x0000000102084780 Window::Show(bool) + 72 (PlatWX.cpp:671)
7   libwx_osx_cocoau-3.0.0.0.0.dylib	0x00000001022aee3e ScintillaBase::CallTipShow(Point, char const*) + 954 (ScintillaBase.cxx:428)
8   libwx_osx_cocoau-3.0.0.0.0.dylib	0x00000001022b0d40 ScintillaBase::WndProc(unsigned int, unsigned long, long) + 1808 (ScintillaBase.cxx:782)
9   libwx_osx_cocoau-3.0.0.0.0.dylib	0x000000010208db3b ScintillaWX::WndProc(unsigned int, unsigned long, long) + 101 (ScintillaWX.cpp:725)
10  libwx_osx_cocoau-3.0.0.0.0.dylib	0x0000000102068fb8 wxStyledTextCtrl::SendMsg(int, unsigned long, long) const + 100 (stc.cpp:238)
11  libwx_osx_cocoau-3.0.0.0.0.dylib	0x0000000102079d57 wxStyledTextCtrl::CallTipShow(int, wxString const&) + 95 (stc.cpp:1835)
12  _stc.so                       	0x0000000108363286 _wrap_StyledTextCtrl_CallTipShow + 630 (stc_wrap.cpp:11723)
13  org.python.python             	0x00000001000c3a42 PyEval_EvalFrameEx + 26306
14  org.python.python             	0x00000001000c58c9 PyEval_EvalCodeEx + 2137
15  org.python.python             	0x00000001000c31bd PyEval_EvalFrameEx + 24125
...

Attachments (1)

stc-calltip-bug.patch download (1.6 KB) - added by robind 8 months ago.

Download all attachments as: .zip

Change History (7)

comment:1 Changed 8 months ago by robind

Oops, that should have said "wxOSX-Cocoa" above, not Carbon.

comment:2 Changed 8 months ago by johnr

See also #15008

comment:3 Changed 8 months ago by csomor

  • Status changed from new to infoneeded_new

what is the simplest way for me to reproduce this from stctest sample ?

comment:4 Changed 8 months ago by robind

  • Status changed from infoneeded_new to new

I will attach a patch for the sample that will allow you to show a CallTip with cmd-shift-space.

Changed 8 months ago by robind

comment:5 Changed 8 months ago by csomor

  • Owner set to csomor
  • Status changed from new to accepted

thanks Robin

comment:6 Changed 8 months ago by SC

(In [75401]) reverting r74098, applying John's version, see #15008, #15765, #13841 will be backported if no regressions are discovered

Note: See TracTickets for help on using tickets.