Sam Lantinga <slouken@libsdl.org> [Sun, 18 Jul 2010 11:24:37 -0700] rev 4553
RedHat patch: SDL-1.2.14-xio_error-rh603984.patch
Sam Lantinga <slouken@libsdl.org> [Sun, 18 Jul 2010 11:23:34 -0700] rev 4552
RedHat patch: SDL-1.2.14-byteorder.patch
Sam Lantinga <slouken@libsdl.org> [Sun, 18 Jul 2010 11:22:47 -0700] rev 4551
RedHat patch: SDL-1.2.14-byteorder.patch
Sam Lantinga <slouken@libsdl.org> [Sun, 18 Jul 2010 11:18:36 -0700] rev 4550
Fixed bug 1006
Get the GLX functions with glXGetProcAddress() when available.
Sam Lantinga <slouken@libsdl.org> [Sun, 18 Jul 2010 11:15:02 -0700] rev 4549
Fixed bug 993
GCC supports unnamed unions now. :)
Sam Lantinga <slouken@libsdl.org> [Sun, 18 Jul 2010 11:13:12 -0700] rev 4548
RedHat patch: SDL-1.2.14-audiodriver.patch
Sam Lantinga <slouken@libsdl.org> [Sun, 18 Jul 2010 11:12:27 -0700] rev 4547
RedHat patch: SDL-1.2.14-audiodriver.patch
Sam Lantinga <slouken@libsdl.org> [Sun, 18 Jul 2010 11:11:37 -0700] rev 4546
Fixed bug 1006
Get the GLX functions with glXGetProcAddress() when available.
Sam Lantinga <slouken@libsdl.org> [Sun, 18 Jul 2010 10:51:25 -0700] rev 4545
Fixed bug 993
GCC supports unnamed unions now. :)
Sam Lantinga <slouken@libsdl.org> [Sun, 18 Jul 2010 10:39:24 -0700] rev 4544
Fixed bug 957
Fixed the documentation for SDL_GetWMInfo()
Sam Lantinga <slouken@libsdl.org> [Sun, 18 Jul 2010 10:28:57 -0700] rev 4543
Better fix for bug 936
Sam Lantinga <slouken@libsdl.org> [Sun, 18 Jul 2010 10:26:46 -0700] rev 4542
Better fix for bug 936
Check to for overruns before they happen instead of afterwards.
Sam Lantinga <slouken@libsdl.org> [Sun, 18 Jul 2010 10:08:06 -0700] rev 4541
Fixed bug 936
Make sure that eip doesn't overflow the copy buffer beforehand. :)
Sam Lantinga <slouken@libsdl.org> [Sun, 18 Jul 2010 08:12:48 -0700] rev 4540
Debian patch: 215_kfreebsd_gnu.diff
Sam Lantinga <slouken@libsdl.org> [Sun, 18 Jul 2010 07:55:34 -0700] rev 4539
Debian patch: 012_nasm_include.diff
Sam Lantinga <slouken@libsdl.org> [Sun, 18 Jul 2010 07:54:00 -0700] rev 4538
Debian patch: 011_no_yasm.diff
Sam Lantinga <slouken@libsdl.org> [Sun, 18 Jul 2010 08:12:28 -0700] rev 4537
Debian patch: 215_kfreebsd_gnu.diff
Sam Lantinga <slouken@libsdl.org> [Sun, 18 Jul 2010 01:04:18 -0700] rev 4536
Double-confirmed, that's not the pause scancode
Sam Lantinga <slouken@libsdl.org> [Sun, 18 Jul 2010 01:00:01 -0700] rev 4535
Added back in a little more debugging for the X11 keyboard code
Sam Lantinga <slouken@libsdl.org> [Sun, 18 Jul 2010 00:54:26 -0700] rev 4534
Don't put a keysym in there! Shame on you! :)
Sam Lantinga <slouken@libsdl.org> [Sun, 18 Jul 2010 00:50:18 -0700] rev 4533
Missed the numbering
Sam Lantinga <slouken@libsdl.org> [Sun, 18 Jul 2010 00:40:17 -0700] rev 4532
Logitech G15 on Ubuntu 10.04:
code = 1, sym = 0xFF1B (Escape) scancode = 41 (Escape)
code = 2, sym = 0x31 (1) scancode = 30 (1)
code = 3, sym = 0x32 (2) scancode = 31 (2)
code = 4, sym = 0x33 (3) scancode = 32 (3)
code = 5, sym = 0x34 (4) scancode = 33 (4)
code = 6, sym = 0x35 (5) scancode = 34 (5)
code = 7, sym = 0x36 (6) scancode = 35 (6)
code = 8, sym = 0x37 (7) scancode = 36 (7)
code = 9, sym = 0x38 (8) scancode = 37 (8)
code = 10, sym = 0x39 (9) scancode = 38 (9)
code = 11, sym = 0x30 (0) scancode = 39 (0)
code = 12, sym = 0x2D (minus) scancode = 45 (-)
code = 13, sym = 0x3D (equal) scancode = 46 (=)
code = 14, sym = 0xFF08 (BackSpace) scancode = 42 (Backspace)
code = 15, sym = 0xFF09 (Tab) scancode = 43 (Tab)
code = 16, sym = 0x71 (q) scancode = 20 (Q)
code = 17, sym = 0x77 (w) scancode = 26 (W)
code = 18, sym = 0x65 (e) scancode = 8 (E)
code = 19, sym = 0x72 (r) scancode = 21 (R)
code = 20, sym = 0x74 (t) scancode = 23 (T)
code = 21, sym = 0x79 (y) scancode = 28 (Y)
code = 22, sym = 0x75 (u) scancode = 24 (U)
code = 23, sym = 0x69 (i) scancode = 12 (I)
code = 24, sym = 0x6F (o) scancode = 18 (O)
code = 25, sym = 0x70 (p) scancode = 19 (P)
code = 26, sym = 0x5B (bracketleft) scancode = 47 ([)
code = 27, sym = 0x5D (bracketright) scancode = 48 (])
code = 28, sym = 0xFF0D (Return) scancode = 40 (Return)
code = 29, sym = 0xFFE3 (Control_L) scancode = 224 (Left Ctrl)
code = 30, sym = 0x61 (a) scancode = 4 (A)
code = 31, sym = 0x73 (s) scancode = 22 (S)
code = 32, sym = 0x64 (d) scancode = 7 (D)
code = 33, sym = 0x66 (f) scancode = 9 (F)
code = 34, sym = 0x67 (g) scancode = 10 (G)
code = 35, sym = 0x68 (h) scancode = 11 (H)
code = 36, sym = 0x6A (j) scancode = 13 (J)
code = 37, sym = 0x6B (k) scancode = 14 (K)
code = 38, sym = 0x6C (l) scancode = 15 (L)
code = 39, sym = 0x3B (semicolon) scancode = 51 (;)
code = 40, sym = 0x27 (apostrophe) scancode = 52 (')
code = 41, sym = 0x60 (grave) scancode = 53 (`)
code = 42, sym = 0xFFE1 (Shift_L) scancode = 225 (Left Shift)
code = 43, sym = 0x5C (backslash) scancode = 49 (\)
code = 44, sym = 0x7A (z) scancode = 29 (Z)
code = 45, sym = 0x78 (x) scancode = 27 (X)
code = 46, sym = 0x63 (c) scancode = 6 (C)
code = 47, sym = 0x76 (v) scancode = 25 (V)
code = 48, sym = 0x62 (b) scancode = 5 (B)
code = 49, sym = 0x6E (n) scancode = 17 (N)
code = 50, sym = 0x6D (m) scancode = 16 (M)
code = 51, sym = 0x2C (comma) scancode = 54 (,)
code = 52, sym = 0x2E (period) scancode = 55 (.)
code = 53, sym = 0x2F (slash) scancode = 56 (/)
code = 54, sym = 0xFFE2 (Shift_R) scancode = 229 (Right Shift)
code = 55, sym = 0xFFAA (KP_Multiply) scancode = 85 (Keypad *)
code = 56, sym = 0xFFE9 (Alt_L) scancode = 226 (Left Alt)
code = 57, sym = 0x20 (space) scancode = 44 (Space)
code = 58, sym = 0xFFE5 (Caps_Lock) scancode = 57 (CapsLock)
code = 59, sym = 0xFFBE (F1) scancode = 58 (F1)
code = 60, sym = 0xFFBF (F2) scancode = 59 (F2)
code = 61, sym = 0xFFC0 (F3) scancode = 60 (F3)
code = 62, sym = 0xFFC1 (F4) scancode = 61 (F4)
code = 63, sym = 0xFFC2 (F5) scancode = 62 (F5)
code = 64, sym = 0xFFC3 (F6) scancode = 63 (F6)
code = 65, sym = 0xFFC4 (F7) scancode = 64 (F7)
code = 66, sym = 0xFFC5 (F8) scancode = 65 (F8)
code = 67, sym = 0xFFC6 (F9) scancode = 66 (F9)
code = 68, sym = 0xFFC7 (F10) scancode = 67 (F10)
code = 69, sym = 0xFF7F (Num_Lock) scancode = 83 (Numlock)
code = 70, sym = 0xFF14 (Scroll_Lock) scancode = 71 (ScrollLock)
code = 71, sym = 0xFF95 (KP_Home) scancode = 95 (Keypad 7)
code = 72, sym = 0xFF97 (KP_Up) scancode = 96 (Keypad 8)
code = 73, sym = 0xFF9A (KP_Prior) scancode = 97 (Keypad 9)
code = 74, sym = 0xFFAD (KP_Subtract) scancode = 86 (Keypad -)
code = 75, sym = 0xFF96 (KP_Left) scancode = 92 (Keypad 4)
code = 76, sym = 0xFF9D (KP_Begin) scancode = 93 (Keypad 5)
code = 77, sym = 0xFF98 (KP_Right) scancode = 94 (Keypad 6)
code = 78, sym = 0xFFAB (KP_Add) scancode = 87 (Keypad +)
code = 79, sym = 0xFF9C (KP_End) scancode = 89 (Keypad 1)
code = 80, sym = 0xFF99 (KP_Down) scancode = 90 (Keypad 2)
code = 81, sym = 0xFF9B (KP_Next) scancode = 91 (Keypad 3)
code = 82, sym = 0xFF9E (KP_Insert) scancode = 98 (Keypad 0)
code = 83, sym = 0xFF9F (KP_Delete) scancode = 99 (Keypad .)
code = 84, sym = 0xFE03 (ISO_Level3_Shift) scancode = 0 ()
code = 86, sym = 0x3C (less) scancode not found
code = 87, sym = 0xFFC8 (F11) scancode = 68 (F11)
code = 88, sym = 0xFFC9 (F12) scancode = 69 (F12)
code = 90, sym = 0xFF26 (Katakana) scancode = 0 ()
code = 91, sym = 0xFF25 (Hiragana) scancode = 0 ()
code = 92, sym = 0xFF23 (Henkan_Mode) scancode = 0 ()
code = 93, sym = 0xFF27 (Hiragana_Katakana) scancode = 0 ()
code = 94, sym = 0xFF22 (Muhenkan) scancode = 0 ()
code = 96, sym = 0xFF8D (KP_Enter) scancode = 88 (Keypad Enter)
code = 97, sym = 0xFFE4 (Control_R) scancode = 228 (Right Ctrl)
code = 98, sym = 0xFFAF (KP_Divide) scancode = 84 (Keypad /)
code = 99, sym = 0xFF61 (Print) scancode = 70 (PrintScreen)
code = 100, sym = 0xFFEA (Alt_R) scancode = 230 (Right Alt)
code = 101, sym = 0xFF0A (Linefeed) scancode = 0 ()
code = 102, sym = 0xFF50 (Home) scancode = 74 (Home)
code = 103, sym = 0xFF52 (Up) scancode = 82 (Up)
code = 104, sym = 0xFF55 (Prior) scancode = 75 (PageUp)
code = 105, sym = 0xFF51 (Left) scancode = 80 (Left)
code = 106, sym = 0xFF53 (Right) scancode = 79 (Right)
code = 107, sym = 0xFF57 (End) scancode = 77 (End)
code = 108, sym = 0xFF54 (Down) scancode = 81 (Down)
code = 109, sym = 0xFF56 (Next) scancode = 78 (PageDown)
code = 110, sym = 0xFF63 (Insert) scancode = 73 (Insert)
code = 111, sym = 0xFFFF (Delete) scancode = 76 (Delete)
code = 113, sym = 0x1008FF12 (XF86AudioMute) scancode = 0 ()
code = 114, sym = 0x1008FF11 (XF86AudioLowerVolume) scancode = 0 ()
code = 115, sym = 0x1008FF13 (XF86AudioRaiseVolume) scancode = 0 ()
code = 116, sym = 0x1008FF2A (XF86PowerOff) scancode = 0 ()
code = 117, sym = 0xFFBD (KP_Equal) scancode = 103 (Keypad =)
code = 118, sym = 0xB1 (plusminus) scancode not found
code = 119, sym = 0xFF13 (Pause) scancode = 72 (Pause)
code = 120, sym = 0x1008FF4A (XF86LaunchA) scancode = 0 ()
code = 121, sym = 0xFFAE (KP_Decimal) scancode = 99 (Keypad .)
code = 122, sym = 0xFF31 (Hangul) scancode = 0 ()
code = 123, sym = 0xFF34 (Hangul_Hanja) scancode = 0 ()
code = 125, sym = 0xFFEB (Super_L) scancode = 227 (Left GUI)
code = 126, sym = 0xFFEC (Super_R) scancode = 231 (Right GUI)
code = 127, sym = 0xFF67 (Menu) scancode = 118 (Menu)
code = 128, sym = 0xFF69 (Cancel) scancode = 120 (Stop)
code = 129, sym = 0xFF66 (Redo) scancode = 121 (Again)
code = 130, sym = 0x1005FF70 (SunProps) scancode = 0 ()
code = 131, sym = 0xFF65 (Undo) scancode = 122 (Undo)
code = 132, sym = 0x1005FF71 (SunFront) scancode = 0 ()
code = 133, sym = 0x1008FF57 (XF86Copy) scancode = 0 ()
code = 134, sym = 0x1005FF73 (SunOpen) scancode = 0 ()
code = 135, sym = 0x1008FF6D (XF86Paste) scancode = 0 ()
code = 136, sym = 0xFF68 (Find) scancode = 126 (Find)
code = 137, sym = 0x1008FF58 (XF86Cut) scancode = 0 ()
code = 138, sym = 0xFF6A (Help) scancode = 117 (Help)
code = 139, sym = 0x1008FF65 (XF86MenuKB) scancode = 0 ()
code = 140, sym = 0x1008FF1D (XF86Calculator) scancode = 0 ()
code = 142, sym = 0x1008FF2F (XF86Sleep) scancode = 0 ()
code = 143, sym = 0x1008FF2B (XF86WakeUp) scancode = 0 ()
code = 144, sym = 0x1008FF5D (XF86Explorer) scancode = 0 ()
code = 145, sym = 0x1008FF7B (XF86Send) scancode = 0 ()
code = 147, sym = 0x1008FF8A (XF86Xfer) scancode = 0 ()
code = 148, sym = 0x1008FF41 (XF86Launch1) scancode = 0 ()
code = 149, sym = 0x1008FF42 (XF86Launch2) scancode = 0 ()
code = 150, sym = 0x1008FF2E (XF86WWW) scancode = 0 ()
code = 151, sym = 0x1008FF5A (XF86DOS) scancode = 0 ()
code = 152, sym = 0x1008FF2D (XF86ScreenSaver) scancode = 0 ()
code = 154, sym = 0x1008FF74 (XF86RotateWindows) scancode = 0 ()
code = 155, sym = 0x1008FF19 (XF86Mail) scancode = 0 ()
code = 156, sym = 0x1008FF30 (XF86Favorites) scancode = 0 ()
code = 157, sym = 0x1008FF33 (XF86MyComputer) scancode = 0 ()
code = 158, sym = 0x1008FF26 (XF86Back) scancode = 0 ()
code = 159, sym = 0x1008FF27 (XF86Forward) scancode = 0 ()
code = 161, sym = 0x1008FF2C (XF86Eject) scancode = 0 ()
code = 162, sym = 0x1008FF2C (XF86Eject) scancode = 0 ()
code = 163, sym = 0x1008FF17 (XF86AudioNext) scancode = 0 ()
code = 164, sym = 0x1008FF14 (XF86AudioPlay) scancode = 0 ()
code = 165, sym = 0x1008FF16 (XF86AudioPrev) scancode = 0 ()
code = 166, sym = 0x1008FF15 (XF86AudioStop) scancode = 0 ()
code = 167, sym = 0x1008FF1C (XF86AudioRecord) scancode = 0 ()
code = 168, sym = 0x1008FF3E (XF86AudioRewind) scancode = 0 ()
code = 169, sym = 0x1008FF6E (XF86Phone) scancode = 0 ()
code = 171, sym = 0x1008FF81 (XF86Tools) scancode = 0 ()
code = 172, sym = 0x1008FF18 (XF86HomePage) scancode = 0 ()
code = 173, sym = 0x1008FF73 (XF86Reload) scancode = 0 ()
code = 174, sym = 0x1008FF56 (XF86Close) scancode = 0 ()
code = 177, sym = 0x1008FF78 (XF86ScrollUp) scancode = 0 ()
code = 178, sym = 0x1008FF79 (XF86ScrollDown) scancode = 0 ()
code = 179, sym = 0x28 (parenleft) scancode not found
code = 180, sym = 0x29 (parenright) scancode not found
code = 181, sym = 0x1008FF68 (XF86New) scancode = 0 ()
code = 182, sym = 0xFF66 (Redo) scancode = 121 (Again)
code = 183, sym = 0x1008FF81 (XF86Tools) scancode = 0 ()
code = 184, sym = 0x1008FF45 (XF86Launch5) scancode = 0 ()
code = 185, sym = 0x1008FF65 (XF86MenuKB) scancode = 0 ()
code = 192, sym = 0x1008FFA9 (XF86TouchpadToggle) scancode = 0 ()
code = 195, sym = 0xFF7E (Mode_switch) scancode = 257 (ModeSwitch)
code = 200, sym = 0x1008FF14 (XF86AudioPlay) scancode = 0 ()
code = 201, sym = 0x1008FF31 (XF86AudioPause) scancode = 0 ()
code = 202, sym = 0x1008FF43 (XF86Launch3) scancode = 0 ()
code = 203, sym = 0x1008FF44 (XF86Launch4) scancode = 0 ()
code = 204, sym = 0x1008FF4B (XF86LaunchB) scancode = 0 ()
code = 205, sym = 0x1008FFA7 (XF86Suspend) scancode = 0 ()
code = 206, sym = 0x1008FF56 (XF86Close) scancode = 0 ()
code = 207, sym = 0x1008FF14 (XF86AudioPlay) scancode = 0 ()
code = 208, sym = 0x1008FF97 (XF86AudioForward) scancode = 0 ()
code = 210, sym = 0xFF61 (Print) scancode = 70 (PrintScreen)
code = 212, sym = 0x1008FF8F (XF86WebCam) scancode = 0 ()
code = 215, sym = 0x1008FF19 (XF86Mail) scancode = 0 ()
code = 217, sym = 0x1008FF1B (XF86Search) scancode = 0 ()
code = 219, sym = 0x1008FF3C (XF86Finance) scancode = 0 ()
code = 221, sym = 0x1008FF36 (XF86Shop) scancode = 0 ()
code = 223, sym = 0xFF69 (Cancel) scancode = 120 (Stop)
code = 224, sym = 0x1008FF03 (XF86MonBrightnessDown) scancode = 0 ()
code = 225, sym = 0x1008FF02 (XF86MonBrightnessUp) scancode = 0 ()
code = 226, sym = 0x1008FF32 (XF86AudioMedia) scancode = 0 ()
code = 227, sym = 0x1008FF59 (XF86Display) scancode = 0 ()
code = 228, sym = 0x1008FF04 (XF86KbdLightOnOff) scancode = 0 ()
code = 229, sym = 0x1008FF06 (XF86KbdBrightnessDown) scancode = 0 ()
code = 230, sym = 0x1008FF05 (XF86KbdBrightnessUp) scancode = 0 ()
code = 231, sym = 0x1008FF7B (XF86Send) scancode = 0 ()
code = 232, sym = 0x1008FF72 (XF86Reply) scancode = 0 ()
code = 233, sym = 0x1008FF90 (XF86MailForward) scancode = 0 ()
code = 234, sym = 0x1008FF77 (XF86Save) scancode = 0 ()
code = 235, sym = 0x1008FF5B (XF86Documents) scancode = 0 ()
code = 236, sym = 0x1008FF93 (XF86Battery) scancode = 0 ()
code = 237, sym = 0x1008FF94 (XF86Bluetooth) scancode = 0 ()
code = 238, sym = 0x1008FF95 (XF86WLAN) scancode = 0 ()
Sam Lantinga <slouken@libsdl.org> [Sat, 17 Jul 2010 23:25:10 -0700] rev 4531
Added a couple missing keys on my Logitech G15 keyboard on a Mac Pro running Ubuntu 10.04.
Sam Lantinga <slouken@libsdl.org> [Sat, 17 Jul 2010 22:59:28 -0700] rev 4530
Fixed typo in the documentation
Sam Lantinga <slouken@libsdl.org> [Sat, 17 Jul 2010 18:57:51 -0700] rev 4529
Fixed bug 1014
Don't send events for unprintable characters
Sam Lantinga <slouken@libsdl.org> [Sat, 17 Jul 2010 18:44:34 -0700] rev 4528
Fixed bug 1022
Fixed the X11 icon on 64-bit systems
Sam Lantinga <slouken@libsdl.org> [Wed, 14 Jul 2010 21:25:15 -0700] rev 4527
Added support for testing window manager icons
Sam Lantinga <slouken@libsdl.org> [Wed, 14 Jul 2010 07:48:35 -0700] rev 4526
Fixed bug #1000
Don't crash if someone tries to delete a context after we've unloaded the library. In this case it's SDL_compat that doesn't know SDL_VideoQuit() has been called. Hmm...
Sam Lantinga <slouken@libsdl.org> [Wed, 14 Jul 2010 07:31:35 -0700] rev 4525
pelya 2010-07-12 03:53:48 PDT
In function GLES_RenderCopy() in SDL_renderer_gles.c:819 there is one memcpy()
that can be avoided if we're updating whole texture.
Because of that the SDL 1.3 in compatibility mode is working even slower than
software rendering in SDL 1.2.
Sam Lantinga <slouken@libsdl.org> [Wed, 14 Jul 2010 07:25:07 -0700] rev 4524
Zero any fields not explicitly filled in.
Sam Lantinga <slouken@libsdl.org> [Wed, 14 Jul 2010 01:02:18 -0700] rev 4523
Now that the fullscreen wm state works, enable the video modes. Yay! :)
Sam Lantinga <slouken@libsdl.org> [Wed, 14 Jul 2010 00:56:08 -0700] rev 4522
Fixed setting fullscreen and maximized states for windows that haven't been mapped yet.
Sam Lantinga <slouken@libsdl.org> [Wed, 14 Jul 2010 00:28:15 -0700] rev 4521
Let the window manager know we're a "normal" window
Sam Lantinga <slouken@libsdl.org> [Wed, 14 Jul 2010 00:08:46 -0700] rev 4520
Much better debugging of property changes
Sam Lantinga <slouken@libsdl.org> [Tue, 13 Jul 2010 23:14:00 -0700] rev 4519
Turned off debug spew
Sam Lantinga <slouken@libsdl.org> [Tue, 13 Jul 2010 23:11:10 -0700] rev 4518
Lots of prep for the "real" way to support fullscreen mode on modern window managers.
Unfortunately, this doesn't work. I also noticed that maximizing doesn't work as well. Also xprop hangs when trying to list properties of SDL windows.... ???
Sam Lantinga <slouken@libsdl.org> [Tue, 13 Jul 2010 23:05:14 -0700] rev 4517
Added test case for maximize code
Sam Lantinga <slouken@libsdl.org> [Tue, 13 Jul 2010 22:39:46 -0700] rev 4516
Use a better switch for the clipboard property format
Sam Lantinga <slouken@libsdl.org> [Tue, 13 Jul 2010 22:26:50 -0700] rev 4515
Fixed compile warnings
Sam Lantinga <slouken@libsdl.org> [Tue, 13 Jul 2010 22:25:30 -0700] rev 4514
Fixed compile warning
Sam Lantinga <slouken@libsdl.org> [Tue, 13 Jul 2010 22:24:46 -0700] rev 4513
Fixed compile warning
Sam Lantinga <slouken@libsdl.org> [Tue, 13 Jul 2010 22:22:43 -0700] rev 4512
Fixed compile warning.
Sam Lantinga <slouken@libsdl.org> [Mon, 12 Jul 2010 22:08:50 -0700] rev 4511
Daniel Wyatt 2010-03-26 14:52:53 PDT
If a non-console Windows SDL program has a non-quoted 0th argument followed
optionally by more non-quoted arguments and then by an empty quoted argument,
it will crash (attempts to dereference a NULL pointer).
In other words, something like this:
test.exe [non-quoted args] "" [...]
The fix is a one-liner in ParseCommandLine() of
src/main/win32/SDL_win32_main.c.
You can test this with any non-console SDL program on windows like this:
1) Open a console (cmd.exe)
2) Launch the program in one of the following ways:
program ""
program arg1 ""
program arg1 "" arg3
These will not cause a crash:
"program" [...]
program "arg1" ""
When a Windows program is launched from Explorer, its 0th argument seems to
always be quoted, so it won't be a problem in that case.
I've tested this on Windows XP SP3 and Windows 7.
Sam Lantinga <slouken@libsdl.org> [Mon, 12 Jul 2010 01:20:57 -0700] rev 4510
Implemented X11 system window manager info for SDL 1.3. It's simple. Really.
Sam Lantinga <slouken@libsdl.org> [Mon, 12 Jul 2010 00:49:26 -0700] rev 4509
Made it possible to switch the text format in one place
Sam Lantinga <slouken@libsdl.org> [Mon, 12 Jul 2010 00:36:55 -0700] rev 4508
Added X11 clipboard support.
As far as I know there isn't any real way to tell when the clipboard contents have changed without polling them, so I didn't implement the clipboard update event on X11.
Sam Lantinga <slouken@libsdl.org> [Mon, 12 Jul 2010 00:35:24 -0700] rev 4507
Fixed compile warnings
Sam Lantinga <slouken@libsdl.org> [Mon, 12 Jul 2010 00:35:14 -0700] rev 4506
Fixed compile warnings
Sam Lantinga <slouken@libsdl.org> [Mon, 12 Jul 2010 00:33:24 -0700] rev 4505
Fixed compiler warning
Sam Lantinga <slouken@libsdl.org> [Thu, 08 Jul 2010 23:07:34 -0700] rev 4504
Amazingly the Windows code is almost identical to the Mac OS X code. :)
Sam Lantinga <slouken@libsdl.org> [Thu, 08 Jul 2010 22:54:03 -0700] rev 4503
Added an event when the clipboard is updated, triggered after the window gains the keyboard focus.
Sam Lantinga <slouken@libsdl.org> [Thu, 08 Jul 2010 06:21:48 -0700] rev 4502
Made the new public headers public
Sam Lantinga <slouken@libsdl.org> [Thu, 08 Jul 2010 06:16:27 -0700] rev 4501
Updated Xcode project files for clipboard API
Fixed generation of SDL_revision.h when hg is in the path set up in .bash_profile
Sam Lantinga <slouken@libsdl.org> [Thu, 08 Jul 2010 05:43:34 -0700] rev 4500
Added Windows clipboard support
Sam Lantinga <slouken@libsdl.org> [Thu, 08 Jul 2010 00:35:58 -0700] rev 4499
Added Mac OS X implementation of clipboard support
Sam Lantinga <slouken@libsdl.org> [Thu, 08 Jul 2010 00:03:39 -0700] rev 4498
I missed the Objective C files when updating the copyright date...
Sam Lantinga <slouken@libsdl.org> [Thu, 08 Jul 2010 00:00:07 -0700] rev 4497
Added simple clipboard test
Sam Lantinga <slouken@libsdl.org> [Wed, 07 Jul 2010 23:59:20 -0700] rev 4496
Need to add new headers to Makefile.in
Sam Lantinga <slouken@libsdl.org> [Wed, 07 Jul 2010 23:54:03 -0700] rev 4495
Simplified clipboard API for sanity's sake.
A complete clipboard implementation would support multiple formats that could be queried at runtime, events for when the clipboard contents changed, support for HTML, images, etc. We're not going that crazy, at least for now. :)
Sam Lantinga <slouken@libsdl.org> [Wed, 07 Jul 2010 23:26:07 -0700] rev 4494
Whoops, updated the copyright date
Sam Lantinga <slouken@libsdl.org> [Wed, 07 Jul 2010 23:24:04 -0700] rev 4493
First pass at clipboard API, still very much in progress
Sam Lantinga <slouken@libsdl.org> [Wed, 07 Jul 2010 21:36:09 -0700] rev 4492
Added SDL_FOURCC()
Sam Lantinga <slouken@libsdl.org> [Wed, 07 Jul 2010 21:35:44 -0700] rev 4491
Turn on blending if we're converting from a surface with colorkey enabled
Sam Lantinga <slouken@libsdl.org> [Wed, 07 Jul 2010 18:58:51 -0700] rev 4490
Updated iPhone keyboard code (which builds and runs on the iPad and iPhone simulator now)
Updated iPhone demos (which build and run again)
Sam Lantinga <slouken@libsdl.org> [Tue, 06 Jul 2010 22:26:03 -0700] rev 4489
The arguments to main() should be NULL terminated (SuS v3 compliant)
Sam Lantinga <slouken@libsdl.org> [Tue, 06 Jul 2010 22:08:19 -0700] rev 4488
Re-implemented single mouse touches on the iPhone/iPad
Sam Lantinga <slouken@libsdl.org> [Tue, 06 Jul 2010 10:58:23 -0700] rev 4487
Removed obsolete header file
Sam Lantinga <slouken@libsdl.org> [Tue, 06 Jul 2010 08:22:36 -0700] rev 4486
Fixed fullscreen window position
Fixed position calculation for centered windows
Sam Lantinga <slouken@libsdl.org> [Mon, 05 Jul 2010 22:48:35 -0700] rev 4485
Merged changes from default
Sam Lantinga <slouken@libsdl.org> [Mon, 05 Jul 2010 22:48:13 -0700] rev 4484
Cleaned up the mouse window focus handling: you always pass in the relative window when sending a mouse event.
Fixed a bug where only mouse wheel up was sent on Mac OS X
Fixed a bug where mouse window focus was getting hosed by the fullscreen mouse code on Mac OS X
Sam Lantinga <slouken@libsdl.org> [Mon, 05 Jul 2010 22:45:45 -0700] rev 4483
Removed obsolete test program. Ryan may resurrect it when the new multi-mouse code is implemented.
Sam Lantinga <slouken@libsdl.org> [Mon, 05 Jul 2010 22:45:15 -0700] rev 4482
Fixed usage message - it shouldn't have a printf format specifier
Sam Lantinga <slouken@libsdl.org> [Mon, 05 Jul 2010 18:18:25 -0700] rev 4481
Removed SDL.lib and SDLmain.lib from the projects since the dependencies are set up properly.
Sam Lantinga <slouken@libsdl.org> [Mon, 05 Jul 2010 17:14:37 -0700] rev 4480
Added dependencies on SDL.lib and SDLmain.lib to the test programs
Sam Lantinga <slouken@libsdl.org> [Mon, 05 Jul 2010 17:10:34 -0700] rev 4479
Split out the Visual C++ 2005 and 2008 projects explicitly.
Added the test programs to the Visual C++ 2008 project.
Sam Lantinga <slouken@libsdl.org> [Mon, 05 Jul 2010 13:10:47 -0700] rev 4478
Fixed revision type for SDL 1.3
Sam Lantinga <slouken@libsdl.org> [Mon, 05 Jul 2010 13:10:31 -0700] rev 4477
Added missing file to the automated test project
Sam Lantinga <slouken@libsdl.org> [Mon, 05 Jul 2010 12:41:28 -0700] rev 4476
Make sure SDL gets installed to the correct prefix for the new cross-compiler tools.
Sam Lantinga <slouken@libsdl.org> [Mon, 05 Jul 2010 12:32:44 -0700] rev 4475
Fixed compile warning with latest mingw32 compiler
Sam Lantinga <slouken@libsdl.org> [Sun, 27 Jun 2010 23:17:36 -0700] rev 4474
Typo in documentation
Sam Lantinga <slouken@libsdl.org> [Sat, 26 Jun 2010 08:58:06 -0700] rev 4473
Removed one more use of ()
Sam Lantinga <slouken@libsdl.org> [Sat, 26 Jun 2010 08:56:48 -0700] rev 4472
Mostly cleaned up warnings with -Wmissing-prototypes
Sam Lantinga <slouken@libsdl.org> [Thu, 17 Jun 2010 22:23:20 -0700] rev 4471
Hello Sam.
I did fix/update the SDL 1.3 pandora port today ( 11 june 2010 ) and you can find the "hg diff" attached :)
David Carré ( Cpasjuste )
Sam Lantinga <slouken@libsdl.org> [Thu, 17 Jun 2010 12:33:05 -0700] rev 4470
Fixed mouse focus window reporting
FIXME: Should the window be a parameter to the mouse events again?
Sam Lantinga <slouken@libsdl.org> [Sun, 06 Jun 2010 21:09:45 -0700] rev 4469
Fixed wording for consistency
Sam Lantinga <slouken@libsdl.org> [Mon, 24 May 2010 22:56:36 -0700] rev 4468
SDL_KillThread() is no longer supported - it was always dangerous! :)
Sam Lantinga <slouken@libsdl.org> [Mon, 17 May 2010 23:13:33 -0700] rev 4467
author Eric Wing <ewing . public |-at-| gmail . com>
Wed May 12 12:49:28 2010 -0700 (5 days ago)
Added the automated test plist file and modified .hgignore to be less aggressive.
Discovered that the new plist file for the automated test was not checked in because the .hgignore file was too aggressive. I changed the .hgignore to not ignore the Xcode directory and instead added a longer list of things to ignore.
Eric Wing <ewing . public |-at-| gmail . com> [Wed, 12 May 2010 12:49:28 -0700] rev 4466
Added the automated test plist file and modified .hgignore to be less aggressive.
Discovered that the new plist file for the automated test was not checked in because the .hgignore file was too aggressive. I changed the .hgignore to not ignore the Xcode directory and instead added a longer list of things to ignore.
Sam Lantinga <slouken@libsdl.org> [Sun, 09 May 2010 20:47:22 -0700] rev 4465
Removed multi-mouse / multi-keyboard support in anticipation of a real multi-mouse and multi-touch API.
Plus, this lets me start implementing cursor support.
Sam Lantinga <slouken@libsdl.org> [Sun, 09 May 2010 19:55:28 -0700] rev 4464
Add a default revision string if we can't find hg
Sam Lantinga <slouken@libsdl.org> [Sun, 09 May 2010 19:51:21 -0700] rev 4463
Don't assume .bashrc exists. :)
Sam Lantinga <slouken@libsdl.org> [Sun, 09 May 2010 17:00:56 -0700] rev 4462
Tagging version before everything gets ripped out.
Sam Lantinga <slouken@libsdl.org> [Sun, 09 May 2010 16:16:11 -0700] rev 4461
Make the compiler even happier
Sam Lantinga <slouken@libsdl.org> [Sun, 09 May 2010 16:15:14 -0700] rev 4460
Make sure events are current before flushing them.
Sam Lantinga <slouken@libsdl.org> [Sun, 09 May 2010 15:47:21 -0700] rev 4459
Added missing header
Sam Lantinga <slouken@libsdl.org> [Sun, 09 May 2010 15:46:19 -0700] rev 4458
Removed unused variables
Sam Lantinga <slouken@libsdl.org> [Sun, 09 May 2010 15:33:10 -0700] rev 4457
Fixed compiler warnings
Sam Lantinga <slouken@libsdl.org> [Sun, 09 May 2010 15:24:31 -0700] rev 4456
Fixed variable use before initialize warnings
Sam Lantinga <slouken@libsdl.org> [Sun, 09 May 2010 15:24:05 -0700] rev 4455
Removed unused variables
Sam Lantinga <slouken@libsdl.org> [Sun, 09 May 2010 10:00:33 -0700] rev 4454
Fixed Eric's changes to allow building from the command line.
Sam Lantinga <slouken@libsdl.org> [Sun, 09 May 2010 09:53:57 -0700] rev 4453
Updated with the SDL 1.3 list of supported operating systems
Eric Wing <ewing . public |-at-| gmail . com> [Sun, 09 May 2010 07:00:28 -0700] rev 4452
Updated Mac Xcode project for refactored rwops automated test changes.
Eric Wing <ewing . public |-at-| gmail . com> [Sun, 09 May 2010 06:58:30 -0700] rev 4451
Refactored automated rwops tests so read and write directories can be more easily customized.
The refactored tests were written in recognition that Mac and iPhone current working directories are usually not going to work. Resource directories are in bundles and write directories are restricted to certain areas. In theory, other platforms may have this problem too, hence the refactoring.
Also updated the Xcode iPhone project to use 3.2 as the Base SDK, but 3.1 as the Deployment SDK (for iPhone/iPad compatibility.)
Eric Wing <ewing . public |-at-| gmail . com> [Sat, 08 May 2010 08:23:46 -0700] rev 4450
Fixes to automated test target for iPhone Xcode project.
Looks like there is a problem with the source code base. UIScreenMode and possibly a few other 3.2 only APIs have crept in. 3.2 is only available for iPad, and not iPhone/iPod Touch.
Eric Wing <ewing . public |-at-| gmail . com> [Sat, 08 May 2010 04:52:17 -0700] rev 4449
Exempted writable modes from bundle check on OS X since bundle areas are typically read-only.
Eric Wing <ewing . public |-at-| gmail . com> [Sat, 08 May 2010 01:12:55 -0700] rev 4448
Adding testsdl (automated test) support to iPhone Xcode project (to match Mac Xcode project).
I haven't updated yet to the 3.2 SDK so SDL no longer builds for me so I can't yet verify if the new target completely works.
Eric Wing <ewing . public |-at-| gmail . com> [Sat, 08 May 2010 00:54:22 -0700] rev 4447
Added automated test to Xcode project plus needed changes to SDL_RWFromFile to be OS X bundle aware.
The Mac OS X project has a new target called testsdl which builds the automated test. I looked at using Xcode's native unit test support, but the impedance mismatch between the existing automated test structure and Apple's was more than I could handle.
As such, the testsdl application is a full blown proper OS X application, which means it is a self-contained .app bundle. This immediately revealed some problems from the automated test. The largest problem was the assumption about the current working directory and where to find resources. (I suspect Windows may have a similar problem depending on circumstance.) To open resources, the test was looking in directories relative to the SDL source directory, but this will not work well with self-contained .app bundles and Xcode which can place its built applications almost anywhere. And for real-world situations, this is pretty useless anyway.
So I modified SDL_RWFromFile to do special things on OS X. First, it will look for a file in the .app bundle. If not found, it will fallback and just call fopen as it used to do.
I also had to modify the automated test itself because it had a contrieved test which called fopen directly to do read from an existing FILE pointer. In addition, there was a write test. Since a .app bundle is likely going to be read-only, I added a special case for OS X to write to NSTemporaryDirectory.
I expect these changes should work for both Mac and iPhone OS (which includes iPad).
I will update the iPhone Xcode project next.
Finally, FYI, the X11 automated test seems to be failing. Below is my output.
Pending breakpoint 4 - "-[NSException raise]" resolved
Platform : All tests successful (2)
SDL_RWops : All tests successful (5)
Rect : All tests successful (1)
SDL_Surface : All tests successful (6)
Rendering with cocoa driver : All tests successful (3)
Assert Failed!
Blit output not the same.
Test Case 'Renderer x11'
Test Suite 'Rendering with x11 driver'
Last SDL error ''
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetSurfaceBounds
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetWindowBounds
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetSurfaceBounds
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetWindowBounds
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetSurfaceBounds
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetWindowBounds
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetSurfaceBounds
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetWindowBounds
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetSurfaceBounds
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetWindowBounds
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetSurfaceBounds
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetWindowBounds
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetSurfaceBounds
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May 8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Rendering with x11 driver : Failed 1 out of 4 testcases!
Rendering with dummy driver : All tests successful (3)
SDL_Audio : All tests successful (1)
Tests run with SDL 1.3.0 revision 1095906
System is running Mac OS X and is little endian
Ryan C. Gordon <icculus@icculus.org> [Sun, 02 May 2010 05:08:12 -0400] rev 4446
Much improved multi-display support for iPad.
Fixes most issues and limitations, I think.
Ryan C. Gordon <icculus@icculus.org> [Sat, 01 May 2010 13:50:56 -0400] rev 4445
Test for system version in the Apple Recommended way.
(a similar test is output by Xcode for the iPhone View Application template).
Ryan C. Gordon <icculus@icculus.org> [Fri, 30 Apr 2010 00:39:31 -0400] rev 4444
Implemented SDL power APIs for iPhoneOS.
Ryan C. Gordon <icculus@icculus.org> [Thu, 29 Apr 2010 22:53:18 -0400] rev 4443
Implemented display mode functionality for UIKit.
The iPad (and iPhoneOS 3.2) introduce both a larger screen and the ability to
enumerate and configure external displays. This hooks up SDL's multi-display
API to this new functionality, and removes the hardcoded iPhone resolution.
Ryan C. Gordon <icculus@icculus.org> [Sun, 25 Apr 2010 20:16:38 -0400] rev 4442
SDL-1.2: Quartz fullscreen video contentRect was used uninitialized.
Sam Lantinga <slouken@libsdl.org> [Fri, 23 Apr 2010 02:19:34 -0700] rev 4441
Fixed bug 978
Yann Leprince 2010-03-31 11:07:53 PDT
Please add a #serial line as below to sdl.m4 and increase the serial number
with each revision of this file. This allows using aclocal --install, thereby
enabling automatic updating of sdl.m4 in SDL-based packages that distribute it.
# serial 1
The complete documentation and rationale for #serial can be found in the
Automake documentation:
<http://www.gnu.org/software/automake/manual/html_node/Serials.html>.
Sam Lantinga <slouken@libsdl.org> [Fri, 23 Apr 2010 02:19:19 -0700] rev 4440
Fixed bug 978
Yann Leprince 2010-03-31 11:07:53 PDT
Please add a #serial line as below to sdl.m4 and increase the serial number
with each revision of this file. This allows using aclocal --install, thereby
enabling automatic updating of sdl.m4 in SDL-based packages that distribute it.
# serial 1
The complete documentation and rationale for #serial can be found in the
Automake documentation:
<http://www.gnu.org/software/automake/manual/html_node/Serials.html>.
Sam Lantinga <slouken@libsdl.org> [Fri, 23 Apr 2010 02:15:05 -0700] rev 4439
esigra 2010-04-17 03:53:57 PDT
If this header file is supposed to be includable from C++ code, the code should
of course use one of the SDL_*_cast macros from SDL_stdinc.h.
Sam Lantinga <slouken@libsdl.org> [Fri, 23 Apr 2010 02:14:06 -0700] rev 4438
esigra 2010-04-17 03:53:57 PDT
If this header file is supposed to be includable from C++ code, the code should
of course use one of the SDL_*_cast macros from SDL_stdinc.h.
Jjgod Jiang <gzjjgod@gmail.com> [Tue, 20 Apr 2010 07:16:42 -0700] rev 4437
Fix a crash caused by empty keyboard focus
---
src/events/SDL_keyboard.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
Sam Lantinga <slouken@libsdl.org> [Thu, 15 Apr 2010 22:27:50 -0700] rev 4436
changeset: 4434:4e5dd7dc58cd
tag: tip
user: Jjgod Jiang <gzjjgod@gmail.com>
date: Fri Apr 16 13:20:33 2010 +0800
summary: Fix window height calculation for text input rect
Sam Lantinga <slouken@libsdl.org> [Thu, 15 Apr 2010 22:27:01 -0700] rev 4435
Minor cleanup on Jiang's patch
Sam Lantinga <slouken@libsdl.org> [Thu, 15 Apr 2010 22:14:26 -0700] rev 4434
changeset: 4433:25667ea797fa
tag: tip
user: Jiang Jiang <gzjjgod@gmail.com>
date: Thu Apr 15 12:01:46 2010 +0800
summary: Add windowID to text editing event