Closed wxtrac closed 2 years ago
I'm using CVS HEAD and it works for me... thanks for the report!
Open the text control sample, and on ANY of the single line text controls (except the read-only one), start typing. When you get to the right edge, the cursor just goes off screen, and you can't see what you're typing. Likewise, highlighting and going to the right or left where there is material offscreen does not cause the single line text to scroll.
I'm using a slightly outdated HEAD (about 2 weeks) but not much has changed on the Mac during that time, mostly warning fixes and secondary classes like cursor that wouldn't affect this. Nor have I seen any changes that look like they would affect this, unless this functionality is really hidden somewhere (or your GetLineLength change actually fixed this). I'm avoiding HEAD right now because of the wx-config changes.
I just want to be sure this is actually fixed and wasn't misunderstood, sorry if it seems like 2nd guessing but this is an important one to me as well.
Kevin - please update and tell me - because it does work for me. I'll leave it open - and thanks for your work on these bugs!!!!
Specific to 10.3.
Right. I don't have 10.3 - so I'll have to leave this one up to stefan.
as of 05-Oct-04, bug still present on MacOS X 10.3.5 with top-of-tree Carbon sources
as we cannot fix or extend the behaviour of the built-in HITextView could you please switch the version trigger in line 377 of textctrl.cpp from 0x1030 to 0x1040 and report me any problems you encounter on 10.3.X when using the 'old' MLTE based implementation
Thanks,
Stefan
I made the change and now if the textctrl has the focus when the top-level parent is destroyed I get a crash. Here is the top of the stack trace:
Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000194
Thread 0 Crashed: 0 libwx_macd-2.5.3.dylib 0x0995d738 0x957a000 + 0x3e3738 1 libwx_macd-2.5.3.dylib 0x09686e2c wxWindow::MacGetVisibleRegion(bool) + 0x160 (window.cpp:2690) 2 libwx_macd-2.5.3.dylib 0x09636e9c wxMacWindowClipper::wxMacWindowClipperunified + 0xdc (dc.cpp:121) 3 libwx_macd-2.5.3.dylib 0x09636dac wxMacWindowClipper::wxMacWindowClipperin-charge + 0x28 (dc.cpp:127) 4 libwx_macd-2.5.3.dylib 0x09675bf8 TPPaneFocusProc(OpaqueControlRef, short) + 0x188 (textctrl.cpp:2344) 5 com.apple.HIToolbox 0x929564b0 InvokeControlUserPaneFocusUPP + 0x18 6 com.apple.HIToolbox 0x92989b00 HandleFocus(UserPaneGlobals) + 0x40 7 com.apple.HIToolbox 0x927f7590 UserPaneCDEF + 0x1b8 8 com.apple.HIToolbox 0x927df11c DispatchMessage(ClassicCDEFAdapter, short, long, unsigned char, unsigned char) + 0xb0 9 com.apple.HIToolbox 0x928ad3f0 SetFocusPart(ClassicCDEFAdapter, OpaqueEventRef) + 0x6c 10 com.apple.HIToolbox 0x927e13d4 ClassicCDEFAdapter::EventHandler(OpaqueEventHandlerCallRef, OpaqueEventRef, void) + 0x260 11 com.apple.HIToolbox 0x927d1fc8 DispatchEventToHandlers + 0x150 12 com.apple.HIToolbox 0x927d223c SendEventToEventTargetInternal + 0x174 13 com.apple.HIToolbox 0x927d66bc SendEventToEventTargetWithOptions + 0x28 14 com.apple.HIToolbox 0x92809024 SendControlDefSetFocusPart(HIView, short, unsigned char, short) + 0xa8 15 com.apple.HIToolbox 0x9281de6c HIView::SetFocusPartInternal(short, unsigned char, unsigned char, short*, short) + 0x70 16 com.apple.HIToolbox 0x9281d408 HIView::SetFocusPart(short, unsigned char) + 0x94 17 com.apple.HIToolbox 0x928b6fc4 ClearKeyboardFocus + 0x70 18 com.apple.HIToolbox 0x928e9af8 _ClearKeyboardFocusWithExtremePrejudice + 0x18 19 com.apple.HIToolbox 0x927f9208 HIView::Destruct() + 0x34 20 com.apple.CoreFoundation 0x90190cf8 CFRelease + 0x1e8 21 libwx_macd-2.5.3.dylib 0x09608dcc wxMacControl::Dispose() + 0x24 (utils.cpp:1440) 22 libwx_macd-2.5.3.dylib 0x0968107c wxWindow::~wxWindow [unified]() + 0x404 (window.cpp:763) 23 libwx_macd-2.5.3.dylib 0x09680bf4 wxWindow::~wxWindow [not-in-charge]() + 0x24 (window.cpp:784) 24 libwx_macd-2.5.3.dylib 0x096b6194 wxControlBase::~wxControlBase [unified]() + 0x40 (ctrlcmn.cpp:51) 25 libwx_macd-2.5.3.dylib 0x096b60d0 wxControlBase::~wxControlBase [not-in-charge]() + 0x24 (ctrlcmn.cpp:51) 26 libwx_macd-2.5.3.dylib 0x096338e0 wxControl::~wxControl [unified]() + 0x50 (control.cpp:76) 27 libwx_macd-2.5.3.dylib 0x0963380c wxControl::~wxControl [not-in-charge]() + 0x24 (control.cpp:76) 28 libwx_macd-2.5.3.dylib 0x09715cb0 wxTextCtrlBase::~wxTextCtrlBase [unified]() + 0xa4 (textcmn.cpp:66) 29 libwx_macd-2.5.3.dylib 0x09715b88 wxTextCtrlBase::~wxTextCtrlBase [not-in-charge]() + 0x24 (textcmn.cpp:66) 30 libwx_macd-2.5.3.dylib 0x0966f334 wxTextCtrl::~wxTextCtrl [unified]() + 0x40 (textctrl.cpp:345) 31 libwx_macd-2.5.3.dylib 0x0966f2e0 wxTextCtrl::~wxTextCtrl [in-charge deleting]() + 0x24 (textctrl.cpp:345) 32 libwx_macd-2.5.3.dylib 0x0971cfd8 wxWindowBase::DestroyChildren() + 0x88 (wincmn.cpp:372) 33 libwx_macd-2.5.3.dylib 0x09680fb4 wxWindow::~wxWindow [unified]() + 0x33c (window.cpp:748) 34 libwx_macd-2.5.3.dylib 0x09680bf4 wxWindow::~wxWindow [not-in-charge]() + 0x24 (window.cpp:784) 35 libwx_macd-2.5.3.dylib 0x0973df04 wxPanel::~wxPanel [unified]() + 0x40 (panelg.cpp:133) 36 libwx_macd-2.5.3.dylib 0x0973deb0 wxPanel::~wxPanel [in-charge deleting]() + 0x24 (panelg.cpp:133) 37 libwx_macd-2.5.3.dylib 0x0971cfd8 wxWindowBase::DestroyChildren() + 0x88 (wincmn.cpp:372) 38 libwx_macd-2.5.3.dylib 0x09680fb4 wxWindow::~wxWindow [unified]() + 0x33c (window.cpp:748) 39 libwx_macd-2.5.3.dylib 0x09680bf4 wxWindow::~wxWindow [not-in-charge]() + 0x24 (window.cpp:784) 40 libwx_macd-2.5.3.dylib 0x097180ac wxTopLevelWindowBase::~wxTopLevelWindowBase [unified]() + 0x13c (toplvcmn.cpp:76) 41 libwx_macd-2.5.3.dylib 0x09717eec wxTopLevelWindowBase::~wxTopLevelWindowBase [not-in-charge]() + 0x24 (toplvcmn.cpp:76) 42 libwx_macd-2.5.3.dylib 0x0967cb28 wxTopLevelWindowMac::~wxTopLevelWindowMac [unified]() + 0x168 (toplevel.cpp:864) 43 libwx_macd-2.5.3.dylib 0x0967c93c wxTopLevelWindowMac::~wxTopLevelWindowMac [not-in-charge]()
Single-line text controls now use non-HIView implementation which does support horizontal scrolling. That's why it always worked on 10.2--10.2 has never used the HIView control.
Issue migrated from trac ticket # 1802
component: old wxOSX/Carbon port | priority: normal
2004-08-10 01:09:42: kasplat created the issue
The single line TextCtrl doesn't support auto-scrolling to the right as the user types text, nor does it scroll horizontally as the user tries to drag the selection. This makes it difficult to use for strings that are wider than the control width.
ka p.s. My main issue is not being able to hide a TextCtrl, but I know that you already know about that one ;-)