浏览代码

X11TK: Fix locale bug for non-dialog windows

eafton 1 周之前
父节点
当前提交
51052245d1
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      src/video/x11/SDL_x11toolkit.c

+ 2 - 2
src/video/x11/SDL_x11toolkit.c

@@ -444,7 +444,7 @@ SDL_ToolkitWindowX11 *X11Toolkit_CreateWindowStruct(SDL_Window *parent, SDL_Tool
     window->tk_parent = tkparent;
     window->tk_parent = tkparent;
 
 
 #if SDL_SET_LOCALE
 #if SDL_SET_LOCALE
-    if (mode != SDL_TOOLKIT_WINDOW_MODE_X11_CHILD) {
+    if (mode == SDL_TOOLKIT_WINDOW_MODE_X11_DIALOG) {
         window->origlocale = setlocale(LC_ALL, NULL);
         window->origlocale = setlocale(LC_ALL, NULL);
         if (window->origlocale) {
         if (window->origlocale) {
             window->origlocale = SDL_strdup(window->origlocale);
             window->origlocale = SDL_strdup(window->origlocale);
@@ -1707,7 +1707,7 @@ void X11Toolkit_DestroyWindow(SDL_ToolkitWindowX11 *data) {
     }
     }
 
 
 #if SDL_SET_LOCALE
 #if SDL_SET_LOCALE
-    if (data->origlocale && (data->mode != SDL_TOOLKIT_WINDOW_MODE_X11_CHILD)) {
+    if (data->origlocale && (data->mode == SDL_TOOLKIT_WINDOW_MODE_X11_DIALOG)) {
         (void)setlocale(LC_ALL, data->origlocale);
         (void)setlocale(LC_ALL, data->origlocale);
         SDL_free(data->origlocale);
         SDL_free(data->origlocale);
     }
     }