home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / unreleased / patches / old / 5.4p.6 < prev    next >
Encoding:
Internet Message Format  |  1999-07-19  |  3.4 KB

  1. To: vim-dev@vim.org
  2. Subject: patch 5.4p.6
  3. Fcc: outbox
  4. From: Bram Moolenaar <Bram@moolenaar.net>
  5. ------------
  6.  
  7. Applies to the GTK GUI version only.
  8.  
  9. I had the problem that the font dialog would appear only after the system was
  10. frozen for ten seconds.  I managed to work around this by moving the font
  11. dialog filter setting to after the gtk_widget_show().
  12.  
  13. I only noticed this problem with GTK 1.2.3 (with a change that will be in
  14. 1.2.4, which avoids messing up event handling).  1.1.16 was OK.  Don't know
  15. why.
  16.  
  17. Please check that the font dialog works for everyone after this patch.
  18.  
  19. Some more info about the bold font problem: It appears to happen for many
  20. fonts, where a "medium" font is used for normal text and a bold font is
  21. available.  Looks like a bold font with a different character cell size is
  22. selected, which doesn't work for Vim.
  23.  
  24.  
  25. Patch 5.4p.6
  26. Problem:    GTK: When starting the font dialog, the system would freeze for
  27.         ten seconds before the dialog is shown.  Happens with GTK 1.2.3,
  28.         not with 1.1.16.
  29. Solution:   Move setting the font filter to after the gtk_widget_show() call.
  30. Files:        src/gui_gtk_x11.c
  31.  
  32.  
  33. *** ../vim-5.4p/src/gui_gtk_x11.c    Mon Jul 19 11:09:06 1999
  34. --- src/gui_gtk_x11.c    Tue Jul 20 19:23:58 1999
  35. ***************
  36. *** 1436,1448 ****
  37.            * NOTE about font selection widget: this can easily be backported
  38.            * to gtk-1.0.x.
  39.            */
  40. -         GtkFontSelectionDialog    *fsd = NULL;
  41.           if (!gui.fontdlg)
  42.           {
  43. ! # ifdef GTK_HAVE_FEATURES_1_1_4
  44. !         static gchar        *spacings[] = {"c", "m", NULL};
  45. ! # endif
  46.   
  47.           gui.fontdlg = gtk_font_selection_dialog_new("Font Selection");
  48.           fsd = GTK_FONT_SELECTION_DIALOG(gui.fontdlg);
  49. --- 1436,1444 ----
  50.            * NOTE about font selection widget: this can easily be backported
  51.            * to gtk-1.0.x.
  52.            */
  53.           if (!gui.fontdlg)
  54.           {
  55. !         GtkFontSelectionDialog    *fsd = NULL;
  56.   
  57.           gui.fontdlg = gtk_font_selection_dialog_new("Font Selection");
  58.           fsd = GTK_FONT_SELECTION_DIALOG(gui.fontdlg);
  59. ***************
  60. *** 1450,1459 ****
  61.               gtk_font_selection_dialog_set_font_name(fsd,
  62.                                   (char *)p_guifont);
  63.   # ifdef GTK_HAVE_FEATURES_1_1_4
  64. -         gtk_font_selection_dialog_set_filter(fsd,
  65. -             GTK_FONT_FILTER_BASE,
  66. -             GTK_FONT_ALL, NULL, NULL,
  67. -             NULL, NULL, spacings, NULL);
  68.           gtk_window_set_modal(GTK_WINDOW(gui.fontdlg), TRUE);
  69.           gtk_window_set_transient_for(GTK_WINDOW(gui.fontdlg),
  70.                                GTK_WINDOW(gui.mainwin));
  71. --- 1446,1451 ----
  72. ***************
  73. *** 1472,1477 ****
  74. --- 1464,1483 ----
  75.           }
  76.           gtk_window_position(GTK_WINDOW(gui.fontdlg), GTK_WIN_POS_MOUSE);
  77.           gtk_widget_show(gui.fontdlg);
  78. + # ifdef GTK_HAVE_FEATURES_1_1_4
  79. +         {
  80. +         static gchar        *spacings[] = {"c", "m", NULL};
  81. +         /* In GTK 1.2.3 this must be after the gtk_widget_show() call,
  82. +          * otherwise everything is blocked for ten seconds. */
  83. +         gtk_font_selection_dialog_set_filter(
  84. +             GTK_FONT_SELECTION_DIALOG(gui.fontdlg),
  85. +             GTK_FONT_FILTER_BASE,
  86. +             GTK_FONT_ALL, NULL, NULL,
  87. +             NULL, NULL, spacings, NULL);
  88. +         }
  89. + # endif
  90.           while (gui.fontdlg && GTK_WIDGET_VISIBLE(gui.fontdlg))
  91.           gtk_main_iteration_do(TRUE);
  92.   
  93.  
  94. --
  95. hundred-and-one symptoms of being an internet addict:
  96. 179. You wonder why your household garbage can doesn't have an
  97.      "empty recycle bin" button.
  98.  
  99. --/-/---- Bram Moolenaar ---- Bram@moolenaar.net ---- Bram@vim.org ---\-\--
  100.   \ \    www.vim.org/iccf      www.moolenaar.net       www.vim.org    / /
  101.