This repository has been archived by the owner on Jun 7, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Codeblocks IDE에서 영어가 간헐적으로 쳐지지 않는 현상이 있습니다. #1
Comments
From @sms200207 on November 28, 2015 13:36 귀차니즘을 덜기 위해서(: or sudo apt-get install codeblocks |
아래처럼 바꾸면 이클립스 끝글자 버그를 회피할 수 없는 문제가 발생합니다. dasom-im/dasom#29 hodong@debian:~/dasom-gtk$ git diff
diff --git a/src/im-dasom.c b/src/im-dasom.c
index 8795b20..c878386 100644
--- a/src/im-dasom.c
+++ b/src/im-dasom.c
@@ -44,6 +44,7 @@ struct _DasomGtkIMContext
gboolean is_reset_on_gdk_button_press_event;
gboolean is_hook_gdk_event_key;
gboolean has_focus;
+ gboolean has_event_handler;
};
struct _DasomGtkIMContextClass
@@ -167,12 +168,24 @@ dasom_gtk_im_context_set_client_window (GtkIMContext *context,
if (ds_context->client_window)
{
+ if (ds_context->has_event_handler)
+ {
+ ds_context->has_event_handler = FALSE;
+ gdk_window_remove_filter (ds_context->client_window,
+ (GdkFilterFunc) on_gdk_x_event, ds_context);
+ }
+
g_object_unref (ds_context->client_window);
ds_context->client_window = NULL;
}
if (window)
+ {
ds_context->client_window = g_object_ref (window);
+ ds_context->has_event_handler = TRUE;
+ gdk_window_add_filter (ds_context->client_window,
+ (GdkFilterFunc) on_gdk_x_event, ds_context);
+ }
}
static void
@@ -300,7 +313,7 @@ on_commit (DasomIM *im,
const gchar *text,
DasomGtkIMContext *context)
{
- g_debug (G_STRLOC ": %s", G_STRFUNC);
+ g_debug (G_STRLOC ": %p: %s |%s|", context, G_STRFUNC, text);
g_signal_emit_by_name (context, "commit", text);
}
@@ -416,8 +429,6 @@ dasom_gtk_im_context_init (DasomGtkIMContext *context)
context);
g_signal_connect (context->settings, "changed::hook-gdk-event-key",
G_CALLBACK (on_changed_hook_gdk_event_key), context);
-
- gdk_window_add_filter (NULL, (GdkFilterFunc) on_gdk_x_event, context);;
}
static void
@@ -427,7 +438,9 @@ dasom_gtk_im_context_finalize (GObject *object)
DasomGtkIMContext *context = DASOM_GTK_IM_CONTEXT (object);
- gdk_window_remove_filter (NULL, (GdkFilterFunc) on_gdk_x_event, context);
+ if (context->has_event_handler)
+ gdk_window_remove_filter (context->client_window,
+ (GdkFilterFunc) on_gdk_x_event, context);
g_object_unref (context->im);
g_object_unref (context->settings); |
ghost
pushed a commit
that referenced
this issue
Nov 28, 2015
This issue was closed.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
None yet
0 participants
From @sms200207 on November 28, 2015 13:32
한글도 아니라 영어라니 무슨 기현상일까요 ㅜㅜ
어쨌든 이런 입력기 개발해 주시니 너무 감사하기만 합니다.
버그잡느라 고생하실 생각 하니 존경스럽습니다.
Copied from original issue: dasom-im/dasom#36
The text was updated successfully, but these errors were encountered: