]> git.saurik.com Git - wxWidgets.git/commitdiff
Applied patch [ 608850 ] wxX11 menu accelerators need toupper
authorJulian Smart <julian@anthemion.co.uk>
Fri, 13 Sep 2002 13:12:46 +0000 (13:12 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Fri, 13 Sep 2002 13:12:46 +0000 (13:12 +0000)
Olly Betts

Letter menu accelerators (with and probably without
modifiers) don't work unless you have capslock on.
Adding a call to toupper() to the appropriate spot fixes
this (wxGtk does toupper in this case already).

Applied patch [ 608530 ] wxX11 doesn't set argv[argc] to NULL

Olly Betts

The code which creates argv under wxX11 doesn't add a
terminating element with value NULL - user code which
expects this (it's true for C/C++ argv) will fail.

Here's a patch to correct this.

I've checked the other versions of app.cpp and they all
get this right.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@17160 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/x11/app.cpp
src/x11/window.cpp

index b42979accb583e38af149d29bafd22aad92196b3..74fb19c9af6c29fad664456ec36fea48a19cf935 100644 (file)
@@ -204,7 +204,7 @@ int wxEntryStart( int& argc, char *argv[] )
     // We can't use wxCmdLineParser or OnInitCmdLine and friends because
     // we have to create the Display earlier. If we can find a way to
     // use the wxAppBase API then I'll be quite happy to change it.
     // We can't use wxCmdLineParser or OnInitCmdLine and friends because
     // we have to create the Display earlier. If we can find a way to
     // use the wxAppBase API then I'll be quite happy to change it.
-    g_newArgv = new wxChar*[argc];
+    g_newArgv = new wxChar*[argc + 1];
     g_newArgc = 0;
     int i;
     for (i = 0; i < argc; i++)
     g_newArgc = 0;
     int i;
     for (i = 0; i < argc; i++)
@@ -253,7 +253,8 @@ int wxEntryStart( int& argc, char *argv[] )
         g_newArgv[g_newArgc] = argv[i];
         g_newArgc ++;
     }
         g_newArgv[g_newArgc] = argv[i];
         g_newArgc ++;
     }
-
+    g_newArgv[g_newArgc] = NULL;
+    
     Display* xdisplay = NULL;
     if (displayName.IsEmpty())
         xdisplay = XOpenDisplay(NULL);
     Display* xdisplay = NULL;
     if (displayName.IsEmpty())
         xdisplay = XOpenDisplay(NULL);
index ad5607f4d2e0c72d6cd4261d45ce75100c078f5a..1df4868f14b91cb50070e2e4ab27450a492541fc 100644 (file)
@@ -1480,7 +1480,7 @@ bool wxTranslateKeyEvent(wxKeyEvent& wxevent, wxWindow *win, Window WXUNUSED(win
             wxevent.m_altDown = XKeyEventAltIsDown(xevent);
             wxevent.m_metaDown = XKeyEventMetaIsDown(xevent);
             wxevent.SetEventObject(win);
             wxevent.m_altDown = XKeyEventAltIsDown(xevent);
             wxevent.m_metaDown = XKeyEventMetaIsDown(xevent);
             wxevent.SetEventObject(win);
-            wxevent.m_keyCode = id;
+            wxevent.m_keyCode = toupper(id);
             wxevent.SetTimestamp(XKeyEventGetTime(xevent));
 
             wxevent.m_x = XKeyEventGetX(xevent);
             wxevent.SetTimestamp(XKeyEventGetTime(xevent));
 
             wxevent.m_x = XKeyEventGetX(xevent);