버그 패치 모음

Sun, May 31 2020 22:58:00

gtk 3.24.23 GtkEntry 끝글자 버그

When clicking the mouse button on the right side of the character being composed, the last character is not committed. Also, after typing Korean, you can reproduce the bug by dragging from right to left with the mouse while there is a character being composed. And then click the left mouse button inside GtkEntry.

cc -o sample sample.c `pkg-config --cflags --libs gtk+-3.0`
#include <gtk/gtk.h>

static void
activate (GtkApplication* app,
          gpointer        user_data)
{
  GtkWidget *window;
  GtkWidget *entry;

  window = gtk_application_window_new (app);
  gtk_window_set_title (GTK_WINDOW (window), "Last character bug");
  entry = gtk_entry_new ();
  gtk_container_add   (GTK_CONTAINER (window), entry);
  gtk_widget_show_all (window);
}

int
main (int    argc,
      char **argv)
{
  GtkApplication *app;
  int status;

  app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE);
  g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
  status = g_application_run (G_APPLICATION (app), argc, argv);
  g_object_unref (app);

  return status;
}
hodong@nimfsoft:~ $ ./sample

(sample:1998): Pango-CRITICAL **: 02:48:49.100: pango_layout_get_cursor_pos: assertion 'index >= 0 && index <= layout->length' f
--- gtk/gtkentry.c.orig 2020-11-25 12:48:42 UTC
+++ gtk/gtkentry.c
@@ -4308,6 +4308,9 @@ gtk_entry_event (GtkWidget *widget,
   gdouble x, y;
   gint i;

+  if (event->type == GDK_BUTTON_PRESS)
+    gtk_entry_reset_im_context (GTK_ENTRY (widget));
+
   if (event->type == GDK_MOTION_NOTIFY &&
       priv->mouse_cursor_obscured &&
       event->any.window == priv->text_area)

gtk_entry_multipress_gesture_pressed(), gtk_entry_real_set_position() 여기에서 reset 했더니… 커서 위치가 안 맞더라구요. 그래서 gtk_entry_event() 에서 reset 했습니다.

https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/2889

geany

geany 가 SIGBUS 신호와 함께 종료되는 버그가 있습니다.

보고 시각: 2020-10-16 17:55 UTC

Bug 250403 - devel/geany: Sometimes geany exited on signal 10 (SIGBUS)
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250403

관련 이슈:
Segmentation fault with vte while quitting
https://github.com/geany/geany/issues/2457

아래 파일은 geany 1.36 에 대한 SIGBUS 버그 패치입니다. 이 패치는 메인 스트림에 포함되었기 때문에 이 패치는 geany 1.37 부터 필요하지 않습니다.
geany-2457.patch
https://github.com/geany/geany/pull/2634

geany 한글 관련 버그

보고 시각: 2019-06-17 09:29 GMT+9

geany 를 사용하다보면 한글 입력하다가 마우스를 클릭하면 마지막 글자가 엉뚱한데 찍히는 버그가 있습니다. 이 버그는 마우스를 클릭할 때 입력기를 리셋하지 않아서 발생하는 버그입니다. 버그 보그를 하였으나 수용되지 않았습니다.

https://github.com/geany/geany/pull/2197
https://sourceforge.net/p/scintilla/bugs/2111/

아래 파일은 geany 1.37 에 대한 입력 버그 패치입니다.
patch-scintilla_gtk_ScintillaGTK.cxx