Opened 12 years ago

Last modified 11 years ago

#38850 closed defect

wxWidgets 2.9: broken support for dead keys (in wxmaxima) — at Version 18

Reported by: mkae (Marko Käning) Owned by: jwa@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: usami-k@…
Port: wxMaxima, wxWidgets-3.0

Description (last modified by mojca (Mojca Miklavec))

I have these ports installed

$ port installed wx*
The following ports are currently installed:
  wxMaxima @12.01.0_0 (active)
  wxMaxima @12.01.0_0+wxwidgets_devel
  wxWidgets @2.8.12_3 (active)
  wxWidgets-devel @2.9.4_4+sdl

Turns out that wxmaxima with wxwidgets works fine, but when trying to run the combination wxmaxima+wxwidgets_devel with wxwidgets-devel I can't enter the caret-character which I need if I want to specify the power in an equation.

What's going on here?

Tested on Snow Leopard.

See: http://trac.wxwidgets.org/ticket/15345

Change History (20)

comment:1 Changed 11 years ago by mojca (Mojca Miklavec)

I tried compiling with wxwidgets30 which is now at version 2.9.5 and expressions like 2^3 works. Does the latest version of wxWidgets solve the problem or am I just unable to reproduce it (I'm on 10.7)?

comment:2 Changed 11 years ago by mojca (Mojca Miklavec)

Cc: mojca@… added

Cc Me!

comment:3 Changed 11 years ago by mkae (Marko Käning)

I've this installed

$ port installed wxMaxima gnuplot wxWidgets*
The following ports are currently installed:
  gnuplot @4.6.3_1+aquaterm+luaterm+pangocairo+wxwidgets_devel+x11 (active)
  wxMaxima @12.01.0_1+wxwidgets_devel (active)
  wxWidgets-devel @2.9.5_0+sdl (active)

but still I cannot enter the ^-operator!

comment:4 Changed 11 years ago by mkae (Marko Käning)

After having heavily cleaned up my installation due to tons of universal installs I finally installed this:

$ port installed wx*
The following ports are currently installed:
  wxMaxima @12.01.0_1+wxwidgets30 (active)
  wxWidgets30 @2.9.5_0+sdl (active)

but unfortunately to no avail!

In wxMaxima's GUI I cannot enter the hat symbol using the keyboard.

What I CAN do is to copy and paste the symbol e.g. from a terminal window into wxMaxima... This cannot be called a decent solution, though. :-(

comment:5 Changed 11 years ago by mojca (Mojca Miklavec)

I think I can reproduce it now, but only on a foreign keyboard where alt-gr (left alt key, not sure how it's called in the apple world) is needed to access the key. It works ok on the US or Dvorak keyboard where it's accessible with shift+6. If I try alt-gr+I on that particular foreign keyboard, I get the text magnified instead of the desired character. In other (including native) software this is a combining character (if followed by a character that doesn't make sense, it generated ^, else it generates a letter like âêîôû...). In wxWidgets the key seems to behave like a normal alt and that seems to be a problem. It's also possible that wxMaxima doesn't initialize something properly, but that's hard to say. I suggest filing an upstream bug report. A few related tickets (all closed):

... oh, I just found a recent ticket with a patch:

Volunteers to test are welcome ;)

Last edited 11 years ago by mojca (Mojca Miklavec) (previous) (diff)

comment:6 Changed 11 years ago by mkae (Marko Käning)

I see. Yes, I do use a non-iMac keyboard here, it's a M$ ergonomic keyboard.

Thanks for looking into this, Mojca! (I'll try to incorporate said patch.)

comment:7 Changed 11 years ago by mkae (Marko Käning)

OK, I have rebuilt wxWidgets30 with said patch and now wxMaxima accepts the hat character! :-)

I'll attach the Portfile diff and the modified patch so that you can quickly update the port.

Changed 11 years ago by mkae (Marko Käning)

Attachment: patch-Portfile.diff added

Changed 11 years ago by mkae (Marko Käning)

comment:8 Changed 11 years ago by mojca (Mojca Miklavec)

Cc: jwa@… mojca@… removed
Owner: changed from macports-tickets@… to jwa@…
Port: wxwidgets30 added

Thank you. Is the revision increase really needed if epoch gets increased?

comment:9 in reply to:  8 Changed 11 years ago by mkae (Marko Käning)

Replying to mojca@…:

Is the revision increase really needed if epoch gets increased?

I had only increased the epoch - also assuming that this would be enough - but as you can see here:

$ vi Portfile 
$ sudo port patch
Password:
--->  Fetching distfiles for wxWidgets30
--->  Attempting to fetch wxWidgets-2.9.5.tar.bz2 from http://switch.dl.sourceforge.net/project/wxwindows/2.9.5
--->  Verifying checksums for wxWidgets30
--->  Extracting wxWidgets30
--->  Applying patches to wxWidgets30
$ sudo port build
--->  Computing dependencies for wxWidgets30
--->  Configuring wxWidgets30
--->  Building wxWidgets30
$ sudo port install
Password:
--->  Computing dependencies for wxWidgets30
--->  Cleaning wxWidgets30
--->  Scanning binaries for linking errors: 100.0%
--->  No broken files found.
markos-imac:wxWidgets30 marko$ port installed wxWidgets30 
The following ports are currently installed:
  wxWidgets30 @2.9.5_0+sdl (active)

after the build port wouldn't destroot and install it.

So I decided to increase the revision.

comment:10 Changed 11 years ago by mojca (Mojca Miklavec)

Committed in r108891, r108892, r108893, r108894, r108896.

Last edited 11 years ago by mojca (Mojca Miklavec) (previous) (diff)

comment:11 Changed 11 years ago by mkae (Marko Käning)

I did not reinstall wxMaxima, i.e. its revbump might not have been necessary.

Does the upgrade actually work without increasing the revision on your end?

comment:12 Changed 11 years ago by mojca (Mojca Miklavec)

I'll test again now, but I had to fix my dumb mistakes first.

I screwed up all the commits anyway. I'm ashamed to death (the problem is that compilation actually worked when I tested and because my local machine takes waaaaaaaaay too long, I logged in to another faster machine via ssh when testing and fetched the wrong file). After the faulty commits I had to increase the revision anyway.

comment:13 Changed 11 years ago by mkae (Marko Käning)

Unfortunately wxmaxima is unstable now.

I created a function f(x):=x^3+x^2+1, went into menu "Calculus/Differentiate..." and when trying to enter for Expression f(x) the app crashed when typing the opening round bracket (:

Process:         wxmaxima [71790]
Path:            /Applications/MacPorts/wxMaxima.app/Contents/MacOS/wxmaxima
Identifier:      net.sf.wxMaxima
Version:         12.01.0 (12.01.0)
Code Type:       X86-64 (Native)
Parent Process:  launchd [257]

Date/Time:       2013-08-04 20:23:25.759 +0200
OS Version:      Mac OS X 10.6.8 (10K549)
Report Version:  6

Interval Since Last Report:          4246190 sec
Crashes Since Last Report:           266
Per-App Interval Since Last Report:  8810 sec
Per-App Crashes Since Last Report:   3
Anonymous UUID:                      4ADD88F0-37AC-4BFC-BB40-8308C8DB47A2

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_PROTECTION_FAILURE at 0x00007fff5f3fff60
Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
0   com.apple.CoreFoundation      	0x00007fff8113b2b4 __CFStringCreateImmutableFunnel3 + 20
1   com.apple.CoreFoundation      	0x00007fff81140356 CFStringCreateWithCharacters + 70
2   com.apple.Foundation          	0x00007fff83fb3dc3 -[NSPlaceholderString initWithCharacters:length:] + 17
3   com.apple.Foundation          	0x00007fff83fb3d92 +[NSString stringWithCharacters:length:] + 58
4   ...cocoau_core-2.9.5.0.0.dylib	0x00000001005ffbec -[NSEvent(OsGuiUtilsAdditions) charactersIgnoringModifiersIncludingShift] + 510
5   ...cocoau_core-2.9.5.0.0.dylib	0x00000001005ff516 wxWidgetCocoaImpl::SetupKeyEvent(wxKeyEvent&, NSEvent*, NSString*) + 378
6   ...cocoau_core-2.9.5.0.0.dylib	0x00000001005f9d7a wxWidgetCocoaImpl::DoHandleCharEvent(NSEvent*, NSString*) + 190
7   ...cocoau_core-2.9.5.0.0.dylib	0x00000001005ef23d -[wxNSTextFieldEditor insertText:] + 126
8   ...cocoau_core-2.9.5.0.0.dylib	0x00000001005ecd36 wxNSTextFieldControl::WriteText(wxString const&) + 248
9   ...cocoau_core-2.9.5.0.0.dylib	0x000000010057c488 wxTextEntry::WriteText(wxString const&) + 160
10  net.sf.wxMaxima               	0x0000000100082094 BTextCtrl::CloseParenthesis(wxString, wxString, bool) + 120
11  net.sf.wxMaxima               	0x0000000100082322 BTextCtrl::MatchParenthesis(int) + 224
12  net.sf.wxMaxima               	0x000000010008269f BTextCtrl::OnChar(wxKeyEvent&) + 29
13  libwx_baseu-2.9.5.0.0.dylib   	0x0000000100ba7ae9 wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) + 91
14  libwx_baseu-2.9.5.0.0.dylib   	0x0000000100ba8532 wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) + 124
15  libwx_baseu-2.9.5.0.0.dylib   	0x0000000100ba85d1 wxEvtHandler::TryHereOnly(wxEvent&) + 115
16  libwx_baseu-2.9.5.0.0.dylib   	0x0000000100ba9826 wxEvtHandler::TryBeforeAndHere(wxEvent&) + 48
17  libwx_baseu-2.9.5.0.0.dylib   	0x0000000100ba85fd wxEvtHandler::ProcessEventLocally(wxEvent&) + 27
18  libwx_baseu-2.9.5.0.0.dylib   	0x0000000100ba86d6 wxEvtHandler::ProcessEvent(wxEvent&) + 180
19  libwx_baseu-2.9.5.0.0.dylib   	0x0000000100ba889c wxEvtHandler::SafelyProcessEvent(wxEvent&) + 22
20  ...cocoau_core-2.9.5.0.0.dylib	0x00000001006a800e wxWindowBase::HandleWindowEvent(wxEvent&) const + 16
21  ...cocoau_core-2.9.5.0.0.dylib	0x0000000100559aa3 wxWindow::OSXHandleKeyEvent(wxKeyEvent&) + 229
22  ...cocoau_core-2.9.5.0.0.dylib	0x00000001005f9d9e wxWidgetCocoaImpl::DoHandleCharEvent(NSEvent*, NSString*) + 226
23  ...cocoau_core-2.9.5.0.0.dylib	0x00000001005ef23d -[wxNSTextFieldEditor insertText:] + 126
24  ...cocoau_core-2.9.5.0.0.dylib	0x00000001005ecd36 wxNSTextFieldControl::WriteText(wxString const&) + 248
25  ...cocoau_core-2.9.5.0.0.dylib	0x000000010057c488 wxTextEntry::WriteText(wxString const&) + 160
.
.
.

I did not try to reproduce this with the original (unpatched) version of wxmaxima.

Guess this needs to be posted upstream.

comment:14 Changed 11 years ago by mkae (Marko Käning)

Trying to enter the formula in "xmaxima" instead I was unable to execute the assignment neither with SHIFT+ENTER nor ALT+ENTER etc...

When I desperately clicked on the magnifying symbol it lead to this crash:

Process:         wish8.6 [71881]
Path:            /opt/local/bin/wish
Identifier:      wish8.6
Version:         ??? (???)
Code Type:       X86-64 (Native)
Parent Process:  bash [61430]

Date/Time:       2013-08-04 20:29:48.810 +0200
OS Version:      Mac OS X 10.6.8 (10K549)
Report Version:  6

Interval Since Last Report:          4246572 sec
Crashes Since Last Report:           268
Per-App Crashes Since Last Report:   3
Anonymous UUID:                      4ADD88F0-37AC-4BFC-BB40-8308C8DB47A2

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000012000000a5
Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Application Specific Information:
objc[71881]: garbage collection is ON

Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
0   libtk8.6.dylib                	0x00000001000e3e73 TkpConfigureMenuEntry + 1923
1   libtk8.6.dylib                	0x000000010004f010 MenuWorldChanged + 80
2   libtk8.6.dylib                	0x00000001000212bf RecomputeWidgets + 47
3   libtk8.6.dylib                	0x00000001000212d8 RecomputeWidgets + 72
4   libtcl8.6.dylib               	0x0000000100265786 TclServiceIdle + 70
5   libtcl8.6.dylib               	0x00000001002450f2 Tcl_DoOneEvent + 322
6   libtk8.6.dylib                	0x000000010001f9c2 Tk_MainLoop + 34
7   libtk8.6.dylib                	0x000000010002f16e Tk_MainEx + 702
8   wish                          	0x00000001000054f8 main + 56
9   wish                          	0x0000000100005434 start + 52

Thread 1:  Dispatch queue: com.apple.libdispatch-manager
0   libSystem.B.dylib             	0x00007fff88f51c0a kevent + 10
1   libSystem.B.dylib             	0x00007fff88f53add _dispatch_mgr_invoke + 154
2   libSystem.B.dylib             	0x00007fff88f537b4 _dispatch_queue_invoke + 185
3   libSystem.B.dylib             	0x00007fff88f532de _dispatch_worker_thread2 + 252
4   libSystem.B.dylib             	0x00007fff88f52c08 _pthread_wqthread + 353
5   libSystem.B.dylib             	0x00007fff88f52aa5 start_wqthread + 13

Thread 2:
0   libSystem.B.dylib             	0x00007fff88f7c932 select$DARWIN_EXTSN + 10
1   libtcl8.6.dylib               	0x000000010029d3ac NotifierThreadProc + 556
2   libSystem.B.dylib             	0x00007fff88f71fd6 _pthread_start + 331
3   libSystem.B.dylib             	0x00007fff88f71e89 thread_start + 13

Thread 3:
0   libSystem.B.dylib             	0x00007fff88f52a2a __workq_kernreturn + 10
1   libSystem.B.dylib             	0x00007fff88f52e3c _pthread_wqthread + 917
2   libSystem.B.dylib             	0x00007fff88f52aa5 start_wqthread + 13

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000001200000081  rbx: 0x0000000000000048  rcx: 0x00000000fffffbff  rdx: 0x0000000000000000
  rdi: 0x0000000200080cc0  rsi: 0x0000000200079278  rbp: 0x00007fff5fbff140  rsp: 0x00007fff5fbfefe0
   r8: 0x00007fff5fbfef58   r9: 0x00007fff5fbfef0c  r10: 0x000000006d61676e  r11: 0x00007fff83062812
  r12: 0x0000000000000009  r13: 0x000000000000000a  r14: 0x0000000000000009  r15: 0x0000000101b38a10
  rip: 0x00000001000e3e73  rfl: 0x0000000000010246  cr2: 0x00000012000000a5

Binary Images:
       0x100000000 -        0x100005fff +wish 8.6.0 (8.6.0) <FD1F9733-E0B7-AFE5-4720-4C097D8A0A09> /opt/local/bin/wish
       0x100008000 -        0x10013bfef +libtk8.6.dylib 8.6.0 (8.6.0) <1B4EA30C-B037-B57C-E0BB-5B6F8E4BA76B> /opt/local/lib/libtk8.6.dylib
       0x10018e000 -        0x1002deff7 +libtcl8.6.dylib 8.6.0 (8.6.0) <654164DD-67BC-C15E-8EEF-CCB6CCDC5F68> /opt/local/lib/libtcl8.6.dylib
       0x10030f000 -        0x100321ff7 +libz.1.dylib 1.2.8 (compatibility 1.0.0) <A07EE7AE-FDB1-F5E8-8B12-06B7B616DA94> /opt/local/lib/libz.1.dylib
    0x7fff5fc00000 -     0x7fff5fc3bdef  dyld 132.1 (???) <B536F2F1-9DF1-3B6C-1C2C-9075EA219A06> /usr/lib/dyld
    0x7fff8106e000 -     0x7fff8106eff7  com.apple.Carbon 150 (152) <19B37B7B-1594-AD0A-7F14-FA2F85AD7241> /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
    0x7fff8106f000 -     0x7fff8111ffff  edu.mit.Kerberos 6.5.11 (6.5.11) <085D80F5-C9DC-E252-C21B-03295E660C91> /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
    0x7fff81136000 -     0x7fff812adfe7  com.apple.CoreFoundation 6.6.6 (550.44) <BB4E5158-E47A-39D3-2561-96CB49FA82D4> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
    0x7fff817b5000 -     0x7fff817b9ff7  libCGXType.A.dylib 545.0.0 (compatibility 64.0.0) <DB710299-B4D9-3714-66F7-5D2964DE585B> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCGXType.A.dylib
    0x7fff81878000 -     0x7fff818c1fef  libGLU.dylib ??? (???) <B0F4CA55-445F-E901-0FCF-47B3B4BAE6E2> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
    0x7fff82103000 -     0x7fff8211cfff  com.apple.CFOpenDirectory 10.6 (10.6) <CCF79716-7CC6-2520-C6EB-A4F56AD0A207> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
    0x7fff823aa000 -     0x7fff82427fef  libstdc++.6.dylib 7.9.0 (compatibility 7.0.0) <35ECA411-2C08-FD7D-11B1-1B7A04921A5C> /usr/lib/libstdc++.6.dylib
    0x7fff8255d000 -     0x7fff82563fff  libCGXCoreImage.A.dylib 545.0.0 (compatibility 64.0.0) <D2F8C7E3-CBA1-2E66-1376-04AA839DABBB> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCGXCoreImage.A.dylib
    0x7fff826d2000 -     0x7fff82757ff7  com.apple.print.framework.PrintCore 6.3 (312.7) <CDFE82DD-D811-A091-179F-6E76069B432D> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
    0x7fff828f8000 -     0x7fff828fafff  com.apple.print.framework.Print 6.1 (237.1) <CA8564FB-B366-7413-B12E-9892DA3C6157> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print
    0x7fff828fb000 -     0x7fff82951fe7  libTIFF.dylib ??? (???) <2DBEC120-DAA7-3789-36A2-A205BCDF2D72> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
    0x7fff82cd8000 -     0x7fff82d2bff7  com.apple.HIServices 1.8.3 (???) <F6E0C7A7-C11D-0096-4DDA-2C77793AA6CD> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
    0x7fff82d2c000 -     0x7fff8302afff  com.apple.HIToolbox 1.6.5 (???) <AD1C18F6-51CB-7E39-35DD-F16B1EB978A8> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
    0x7fff8302b000 -     0x7fff83050ff7  com.apple.CoreVideo 1.6.2 (45.6) <E138C8E7-3CB6-55A9-0A2C-B73FE63EA288> /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
    0x7fff83051000 -     0x7fff83a4bff7  com.apple.AppKit 6.6.8 (1038.36) <4CFBE04C-8FB3-B0EA-8DDB-7E7D10E9D251> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
    0x7fff83a4c000 -     0x7fff83a6ffff  com.apple.opencl 12.3.6 (12.3.6) <42FA5783-EB80-1168-4015-B8C68F55842F> /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL
    0x7fff83a70000 -     0x7fff83ab1fef  com.apple.QD 3.36 (???) <5DC41E81-32C9-65B2-5528-B33E934D5BB4> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
    0x7fff83ab2000 -     0x7fff83ab8ff7  com.apple.DiskArbitration 2.3 (2.3) <857F6E43-1EF4-7D53-351B-10DE0A8F992A> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
    0x7fff83ab9000 -     0x7fff83d42ff7  com.apple.security 6.1.2 (55002) <D224882B-D57B-83AF-3781-548BCEACB327> /System/Library/Frameworks/Security.framework/Versions/A/Security
    0x7fff83d4f000 -     0x7fff83d9bfff  libauto.dylib ??? (???) <F7221B46-DC4F-3153-CE61-7F52C8C293CF> /usr/lib/libauto.dylib
    0x7fff83f9e000 -     0x7fff84220fff  com.apple.Foundation 6.6.8 (751.63) <E10E4DB4-9D5E-54A8-3FB6-2A82426066E4> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
    0x7fff8422d000 -     0x7fff8423ffe7  libsasl2.2.dylib 3.15.0 (compatibility 3.0.0) <76B83C8D-8EFE-4467-0F75-275648AFED97> /usr/lib/libsasl2.2.dylib
    0x7fff8428a000 -     0x7fff842abfe7  libPng.dylib ??? (???) <D8EC7740-EE32-865A-2F75-C9EDE2135510> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
.
.
.

comment:15 in reply to:  13 Changed 11 years ago by mkae (Marko Käning)

Apropos wxMaxima:

Replying to mk@…:

I created a function f(x):=x^3+x^2+1...

When I try this without using the menu by typing the diff()-command in the wxMaxima-console it works successfully:

(%i1)  f(x):=x^3+x^2+1;
(%o1)  f(x):=x^3+x^2+1

(%i2)  diff(f(x),x);
(%o2)  3*x^2+2*x  

comment:16 Changed 11 years ago by mojca (Mojca Miklavec)

I'm really really sorry. I should have left more time for testing ... but now it is what it is. From what I understand it would be desirable to roll back the commit, but I'm leaving very soon and I don't want to do another batch of stupid commits just before being cut off internet access for a few days. If you feel that the patch does more harm than good, please roll it back and also provide feedback to the wxWidgets community.

comment:17 Changed 11 years ago by mkae (Marko Käning)

I cannot manage reporting upstream right now myself, but I'll do it as soon as I can within the next two weeks.

If someone else manages it earlier please go ahead and leave a message in this ticket.

comment:18 Changed 11 years ago by mojca (Mojca Miklavec)

Description: modified (diff)
Summary: In wxmaxima with wxwidgets-devel the ^-operator not usablewxWidgets 2.9: broken support for dead keys (in wxmaxima)
Version: 2.1.3
Note: See TracTickets for help on using tickets.