diff --git a/direct/src/task/Task.py b/direct/src/task/Task.py index 9143055d53..d96f3f44e8 100644 --- a/direct/src/task/Task.py +++ b/direct/src/task/Task.py @@ -17,9 +17,13 @@ from direct.showbase.MessengerGlobal import messenger import types import random import importlib +import sys try: - import signal + if sys.version_info >= (3, 0): + import _signal as signal + else: + import signal except ImportError: signal = None diff --git a/panda/src/x11display/x11GraphicsPipe.cxx b/panda/src/x11display/x11GraphicsPipe.cxx index e2f3da7d9d..a7efba30af 100644 --- a/panda/src/x11display/x11GraphicsPipe.cxx +++ b/panda/src/x11display/x11GraphicsPipe.cxx @@ -316,8 +316,13 @@ x11GraphicsPipe(const std::string &display) : // Connect to an input method for supporting international text entry. _im = XOpenIM(_display, nullptr, nullptr, nullptr); if (_im == (XIM)nullptr) { - x11display_cat.warning() - << "Couldn't open input method.\n"; + // Fall back to internal input method. + XSetLocaleModifiers("@im=none"); + _im = XOpenIM(_display, nullptr, nullptr, nullptr); + if (_im == (XIM)nullptr) { + x11display_cat.warning() + << "Couldn't open input method.\n"; + } } // What styles does the current input method support? diff --git a/panda/src/x11display/x11GraphicsWindow.cxx b/panda/src/x11display/x11GraphicsWindow.cxx index c7d3455164..eb233cd5cf 100644 --- a/panda/src/x11display/x11GraphicsWindow.cxx +++ b/panda/src/x11display/x11GraphicsWindow.cxx @@ -1119,10 +1119,8 @@ open_window() { XIM im = x11_pipe->get_im(); _ic = nullptr; if (im) { - _ic = XCreateIC - (im, - XNInputStyle, XIMPreeditNothing | XIMStatusNothing, - nullptr); + _ic = XCreateIC(im, XNInputStyle, XIMPreeditNothing | XIMStatusNothing, + XNClientWindow, _xwindow, nullptr); if (_ic == (XIC)nullptr) { x11display_cat.warning() << "Couldn't create input context.\n";