[Spice-devel] [PATCH spice] spicec-x11: Add a few missing XLockDisplay calls (rhbz#54265)
Alon Levy
alevy at redhat.com
Thu Nov 18 00:40:51 PST 2010
On Thu, Nov 18, 2010 at 09:35:23AM +0100, Hans de Goede wrote:
> Hi,
>
> On 11/18/2010 09:32 AM, Alon Levy wrote:
> >Looks pretty harmless, but that's from someone not even sure what XIM is (input management?).
> >
>
> Yes input management
>
> >Did you just miss these calls when doing the XLockDisplay addition before?
>
> Yes.
ACK then.
>
> Regards,
>
> Hans
>
> >
> >On Wed, Nov 17, 2010 at 12:30:46PM +0100, Hans de Goede wrote:
> >>The XIM functions end up waiting for a reply from the server, so they
> >>need locking around them. Idem for the XLookupString call.
> >>---
> >> client/x11/red_window.cpp | 6 ++++++
> >> 1 files changed, 6 insertions(+), 0 deletions(-)
> >>
> >>diff --git a/client/x11/red_window.cpp b/client/x11/red_window.cpp
> >>index c3ee1b0..c50e307 100644
> >>--- a/client/x11/red_window.cpp
> >>+++ b/client/x11/red_window.cpp
> >>@@ -733,7 +733,9 @@ void RedWindow_p::handle_key_press_event(RedWindow& window, XKeyEvent* event)
> >>
> >> if (x_input_context != NULL) {
> >> for (;;) {
> >>+ XLockDisplay(x_display);
> >> len = XwcLookupString(x_input_context, event, utf32_buf, buf_size,&key_sym,&status);
> >>+ XUnlockDisplay(x_display);
> >> if (status != XBufferOverflow) {
> >> break;
> >> }
> >>@@ -767,7 +769,9 @@ void RedWindow_p::handle_key_press_event(RedWindow& window, XKeyEvent* event)
> >> unsigned char buffer[16];
> >> int i;
> >>
> >>+ XLockDisplay(x_display);
> >> len = XLookupString(event, (char *)buffer, sizeof(buffer), NULL, NULL);
> >>+ XUnlockDisplay(x_display);
> >> for (i = 0; i< len; i++) {
> >> window.get_listener().on_char((uint32_t)buffer[i]);
> >> }
> >>@@ -2135,7 +2139,9 @@ void RedWindow::on_focus_in()
> >> }
> >> _focused = true;
> >> if (x_input_context) {
> >>+ XLockDisplay(x_display);
> >> XwcResetIC(x_input_context);
> >>+ XUnlockDisplay(x_display);
> >> }
> >> XPlatform::on_focus_in();
> >> get_listener().on_activate();
> >>--
> >>1.7.3.2
> >>
> >>_______________________________________________
> >>Spice-devel mailing list
> >>Spice-devel at lists.freedesktop.org
> >>http://lists.freedesktop.org/mailman/listinfo/spice-devel
More information about the Spice-devel
mailing list