- Jan 03, 2023
-
-
yshui authored
This reverts commit d6d6cba9. The reverted commit intended to fix the problem where an unpadded X event struct is passed into XPutBackEvent, by creating a padded struct with _XEventToWire and _XWireToEvent. However, _XWireToEvent updates the last sequence number in Display, which may cause xlib to complain about lost sequence numbers. IMO, the problem that commit tried to solve is a bug in the client library, and workaround it inside Xlib is bad practice, especially given the problem it caused. Plus, the offender cited in the original commit message, freeglut, has already fixed this problem. Fixes: #176 #174 Signed-off-by:
Yuxuan Shui <yshuiv7@gmail.com>
-
- Dec 15, 2022
-
-
Alan Coopersmith authored
Signed-off-by:
Alan Coopersmith <alan.coopersmith@oracle.com>
-
- Dec 11, 2022
-
-
It seems to be common practice of some X11 clients to pass specific event types into APIs that take XEvent*. For example, freeglut does: XConfigureEvent fakeEvent = {0}; ... XPutBackEvent(fgDisplay.Display, (XEvent*)&fakeEvent); This can result in reads overflowing the input event when libX11 does: XEvent store = *event; ================================================================= ==75304==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x00016ee4a8e8 at pc 0x000101c54d14 bp 0x00016ee4a0d0 sp 0x00016ee49888 READ of size 192 at 0x00016ee4a8e8 thread T0 #0 0x101c54d10 in __asan_memcpy+0x1a4 (libclang_rt.asan_osx_dynamic.dylib:arm64e+0x3cd10) #1 0x102848a18 in _XPutBackEvent PutBEvent.c:41 #2 0x1028490a4 in XPutBackEvent PutBEvent.c:84 #3 0x1013295c8 in fgOpenWindow freeglut_window.c:1178 #4 0x101321984 in fgCreateWindow freeglut_structure.c:108 #5 0x10132b138 in glutCreateWindow freeglut_window.c:1551 #6 0x100fb7d94 in main+0x78 (checkeredTriangles:arm64+0x100003d94) #7 0x197de3e4c (<unknown module>) Address 0x00016ee4a8e8 is located in stack of thread T0 at offset 840 in frame #0 0x1013282f8 in fgOpenWindow freeglut_window.c:1063 This frame has 8 object(s): [32, 40) 'title.addr' [64, 176) 'winAttr' (line 1066) [208, 240) 'textProperty' (line 1067) [272, 352) 'sizeHints' (line 1068) [384, 440) 'wmHints' (line 1069) [480, 672) 'eventReturnBuffer' (line 1070) [736, 740) 'num_FBConfigs' (line 1072) [752, 840) 'fakeEvent' (line 1074) <== Memory access at offset 840 overflows this variable This change allows XPutBackEvent() to support such clients without risk of memory read overflow. Reviewed-by:
Jeremy Huddleston Sequoia <jeremyhu@apple.com> Tested-by:
Jeremy Huddleston Sequoia <jeremyhu@apple.com>
-
Jeremy Huddleston Sequoia authored
imLcPrs.c:681:52: runtime error: applying zero offset to null pointer Signed-off-by:
Jeremy Huddleston Sequoia <jeremyhu@apple.com>
-
- Dec 06, 2022
-
-
- Dec 01, 2022
-
-
Is no longer a bool but a counter. Signed-off-by:
Ulrich Sibiller <uli42@gmx.de>
-
Use the same indentation as the surrounding code. Signed-off-by:
Ulrich Sibiller <uli42@gmx.de> Reviewed-by:
Alan Coopersmith <alan.coopersmith@oracle.com>
-
- Nov 19, 2022
-
-
- the activation logic is reversed - there is also _XInternalLockDisplay() that needs protection - I've found cases (in fvwm2) where the callback calls XCheckIfEvent() recursively. So the flag needs to be a counter. Reviewed-by:
Adam Jackson <ajax@redhat.com>
-
- Nov 11, 2022
-
-
XKBBind.c:230: error: #pragma GCC diagnostic not allowed inside functions Signed-off-by:
Thomas Klausner <wiz@gatalith.at>
-
-
- Nov 10, 2022
-
-
Alan Coopersmith authored
Signed-off-by:
Alan Coopersmith <alan.coopersmith@oracle.com>
-
- Nov 07, 2022
-
-
Alan Coopersmith authored
Signed-off-by:
Alan Coopersmith <alan.coopersmith@oracle.com>
-
Alan Coopersmith authored
Signed-off-by:
Alan Coopersmith <alan.coopersmith@oracle.com>
-
- Nov 03, 2022
-
-
Signed-off-by:
Alan Coopersmith <alan.coopersmith@oracle.com>
-
Alan Coopersmith authored
Signed-off-by:
Alan Coopersmith <alan.coopersmith@oracle.com>
-
Alan Coopersmith authored
-
- Nov 02, 2022
-
-
It makes more sense to have similar sequences grouped together than to rigidly follow the order of ascending Unicode codes.
-
The last few occurrences of `leftcaret` and `rightcaret` were replaced with `less` and `greater` in xkeyboard-config half a year ago.
-
There was not yet any way to compose the Unicode minus sign, U+2212.
-
The documentation for this family of functions very clearly says not to call into xlib in your predicate function, but historically single threaded apps could get away with it just fine, and now that we've forced thread-safety on the world such apps will now deadlock instead. That's not an acceptable regression even if the app is technically broken. This has been reported with XFCE and FVWM, and Motif's cut-and-paste code has the same bug by inspection, so this does need to be addressed. This change nerfs LockDisplay/UnlockDisplay while inside the critical bit of an IfEvent function. This is still safe in the sense that the display remains locked and no other thread should be able to change it from under us, but the loop that scans the event queue might not be robust against it being modified as a side effect of protocol emitted by the predicate callback. But that's not new, non-XInitThreads'd xlib would have the same caveat. Closes: #157
-
- Oct 31, 2022
-
-
Benno Schulenberg authored
Several other `<Multi_key> <asciicircum> <symbol>` sequences produce the superscript equivalent of the given symbol. So, let `<Multi_key> <asciicircum> <minus>` do the same. Also, add two other sequences for producing a plain macron, to compensate a bit the loss of the above sequence. Additionally, make `<Multi_key> <underscore> <minus>` produce a subscript minus, for consistency. This fixes issue #165. Requested-by: J. McWilliams Signed-off-by:
Benno Schulenberg <bensberg@telfort.nl>
-
- Oct 20, 2022
-
-
Jan Tojnar authored
Serbian used sr_YU (Yugoslavia) code in the past. Then it was succeeded by sr_CS (Serbia and Montenegro). Finally, it was split into sr_RS (Serbia) and sr_ME (Montenegro). da95ecbb introduced the modern sr_RS and sr_ME codes. Next, 40761898 added the Serbian compose table but only for the legacy sr_CS entry. 5cd60398 removed the legacy sr_CS entry, the only one pointing to the correct compose file. It also renamed the file to sr_RS, but did not update the compose mapping. Let’s point all Serbian locales to the Compose file again.
-
- Oct 14, 2022
-
-
Alan Coopersmith authored
Fixes: 701e9e9a ("Use same pthread-stubs as libxcb") Signed-off-by:
Alan Coopersmith <alan.coopersmith@oracle.com>
-
Two years ago, commit b126bfd7 allowed using also a lowercase `u` wherever an uppercase `U` was used to represent a breve. But the commit should have limited itself to only the prefixed uses of `U`, as that is how most letters with a breve are composed. Also, group the two compose sequences with an uppercase post-fixed `U` together with the corresponding other post-fixed sequences. Signed-off-by:
Benno Schulenberg <bensberg@telfort.nl>
-
- Oct 08, 2022
-
-
Alan Coopersmith authored
Avoid conflicts when libX11 calls libxcb and gets its pthread functions overriding our ancient stubs. v2: Keep linking with real threads libraries when thread safety constructor is enabled. Signed-off-by:
Alan Coopersmith <alan.coopersmith@oracle.com>
-
- Oct 04, 2022
-
-
Thomas E. Dickey authored
Analysis: _XimRegisterIMInstantiateCallback() opens an XIM and closes it using the internal function pointers, but the internal close function does not free the pointer to the XIM (this would be done in XCloseIM()). Report/patch: Date: Mon, 03 Oct 2022 18:47:32 +0800 From: Po Lu <luangruo@yahoo.com> To: xorg-devel@lists.x.org Subject: Re: Yet another leak in Xlib For reference, here's how I'm calling XRegisterIMInstantiateCallback: XSetLocaleModifiers (""); XRegisterIMInstantiateCallback (compositor.display, XrmGetDatabase (compositor.display), (char *) compositor.resource_name, (char *) compositor.app_name, IMInstantiateCallback, NULL); and XMODIFIERS is: @im=ibus Signed-off-by:
Thomas E. Dickey <dickey@invisible-island.net>
-
- Sep 27, 2022
-
-
Alan Coopersmith authored
Only really makes a difference if pthreads is not in libc. Fixes: #162 Signed-off-by:
Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by:
Adam Jackson <ajax@redhat.com>
-
- Sep 11, 2022
-
-
Signed-off-by:
Thomas E. Dickey <dickey@invisible-island.net>
-
Signed-off-by:
Thomas E. Dickey <dickey@invisible-island.net>
-
- Sep 10, 2022
-
-
https://gitlab.freedesktop.org/xorg/lib/libx11/-/blob/master/src/xlibi18n/lcCT.c#L58 has no escape sequence for KOI8-R. That makes Xutf8TextListToTextProperty() sometimes fail when trying to convert to COMPOUND_TEXT and when the KOI8-R charset is tried. This is the cause for this bug: https://github.com/ibus/ibus/issues/2422 Removing the KOI8-R charset entry fixes the problem. This commit also fixes a few wrong texts in comments. Signed-off-by:
Mike FABIAN <mfabian@redhat.com>
-
The code here that made indexes greater than 3 refer to XKB symbol groups had an off-by-one error, so it would always leave out the symbol that should have been at index 4. Rewrite the code to fix this and simplify the logic a bit. Signed-off-by:
Adam Sampson <ats@offog.org>
-
Thomas E. Dickey authored
Signed-off-by:
Thomas E. Dickey <dickey@invisible-island.net>
-
- Sep 08, 2022
-
-
- Aug 05, 2022
-
-
Alan Coopersmith authored
Signed-off-by:
Alan Coopersmith <alan.coopersmith@oracle.com>
-
- Jul 25, 2022
-
-
David H. Gutteridge authored
Signed-off-by:
David H. Gutteridge <david@gutteridge.ca>
-
- Jul 15, 2022
-
-
Alan Coopersmith authored
Fixes: #160 Signed-off-by:
Alan Coopersmith <alan.coopersmith@oracle.com>
-
Alan Coopersmith authored
Fixes: #160 Signed-off-by:
Alan Coopersmith <alan.coopersmith@oracle.com>
-
/work/xorg/lib/libX11/src/XlibInt.c:1968: multiple definition of `_Xdebug_p'; .libs/globals.o:globals.c:(.bss+0xc): first defined here Avoid redundant definition of _Xdebug_p in globals.c (which is under the influence of _Xdebug being #defined to _Xdebug_p. This appears to be an ancient hack to work around data exports resolving to the address of the import stub, not the import. (See [1]). (This is probably no longer needed or can be done in a better way, as per the discussion under --enable-auto-import in the ld manpage.) [1] https://cygwin.com/pipermail/cygwin-xfree/2001-May/004606.html Signed-off-by:
Jon Turney <jon.turney@dronecode.org.uk>
-
These sequences each produce two code points: the E-with-dot-above and a combining macron. The XIM input method is required for this to work. (Also add a missing comment for a Unicode block.) This fixes issue #54. Requested-by: Arns Udovīčė Signed-off-by:
Benno Schulenberg <bensberg@telfort.nl>
-
Benno Schulenberg authored
Typing a compose sequence requires some care -- surely the user is able to either keep holding the Shift key or not touch it at all while typing the sequence. Also, compose sequences are not an infinite resource AND take up space and time -- defining redundant ones is a waste. Signed-off-by:
Benno Schulenberg <bensberg@telfort.nl>
-