don't leake keysyms!
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 6 Oct 2008 22:56:35 +0000 (22:56 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 6 Oct 2008 22:56:35 +0000 (22:56 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/ecore@36486 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/ecore_x/xlib/ecore_x_test.c

index f80a28a..427d23c 100644 (file)
@@ -77,9 +77,9 @@ ecore_x_test_fake_key_press(const char *key)
      }
    if (keycode == 0)
      {
-       static int mod;
-       static KeySym *keysyms;
-       static int keycode_min, keycode_max, keycode_num;
+       static int mod = 0;
+       KeySym *keysyms;
+       int keycode_min, keycode_max, keycode_num;
        int i;  
 
        XDisplayKeycodes(_ecore_x_disp, &keycode_min, &keycode_max);
@@ -92,6 +92,7 @@ ecore_x_test_fake_key_press(const char *key)
        keysyms[i] = keysym;
        XChangeKeyboardMapping(_ecore_x_disp, keycode_min, keycode_num,
                               keysyms, (keycode_max - keycode_min));
+       XFree(keysyms);
        XSync(_ecore_x_disp, False);
        keycode = keycode_max - mod - 1;
      }