]> granicus.if.org Git - vim/commitdiff
patch 8.2.0622: Haiku: GUI does not compile v8.2.0622
authorBram Moolenaar <Bram@vim.org>
Thu, 23 Apr 2020 13:41:49 +0000 (15:41 +0200)
committerBram Moolenaar <Bram@vim.org>
Thu, 23 Apr 2020 13:41:49 +0000 (15:41 +0200)
Problem:    Haiku: GUI does not compile.
Solution:   Various fixes. (Emir Sari, closes #5961)

Filelist
README.md
READMEdir/README_haiku.txt [new file with mode: 0644]
src/Makefile
src/beval.h
src/gui_haiku.cc
src/proto/gui_haiku.pro
src/version.c

index 422a0d0bad639ee9a65e230965f9ff5aabe53dbd..581a72d1aa27be9a9c6867d7ad78bea8b179687f 100644 (file)
--- a/Filelist
+++ b/Filelist
@@ -607,6 +607,7 @@ SRC_AMI =   \
 
 # source files for Haiku (also in the extra archive)
 SRC_HAIKU =    \
+               README_haiku.txt \
                src/os_haiku.h \
                src/os_haiku.rdef \
                src/gui_haiku.cc \
index 4e3d8433c363a2294377d198031ced22bd6d8a96..d42680c6ba6c41e25cc899c2a93840e17cf56ca6 100644 (file)
--- a/README.md
+++ b/README.md
@@ -26,8 +26,8 @@ All commands are given with normal keyboard characters, so those who can type
 with ten fingers can work very fast.  Additionally, function keys can be
 mapped to commands by the user, and the mouse can be used.
 
-Vim runs under MS-Windows (XP, Vista, 7, 8, 10), macOS, VMS and almost all
-flavours of UNIX.  Porting to other systems should not be very difficult.
+Vim runs under MS-Windows (XP, Vista, 7, 8, 10), macOS, Haiku, VMS and almost
+all flavours of UNIX.  Porting to other systems should not be very difficult.
 Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me/NT/2000, Amiga DOS,
 Atari MiNT, BeOS, RISC OS and OS/2.  These are no longer maintained.
 
@@ -72,6 +72,7 @@ archive):
        README_unix.txt         Unix
        README_dos.txt          MS-DOS and MS-Windows
        README_mac.txt          Macintosh
+       README_haiku.txt        Haiku
        README_vms.txt          VMS
 
 There are other `README_*.txt` files, depending on the distribution you used.
diff --git a/READMEdir/README_haiku.txt b/READMEdir/README_haiku.txt
new file mode 100644 (file)
index 0000000..7eeb0bb
--- /dev/null
@@ -0,0 +1,13 @@
+README_haiku.txt for version 8.2 of Vim: Vi IMproved.
+
+This file explains the installation of Vim on Haiku operating system.
+See "README.txt" for general information about Vim.
+
+Preferred (and easy) way to get Vim on Haiku is to use default Haiku
+software repository HaikuPorts. To get Vim:
+
+- Open HaikuDepot application and search for "vim" package, then install,
+- Open a Terminal and type "pkgman install vim", then follow instructions.
+
+If you prefer to install Vim from source, follow the instructions on
+"runtime/doc/os_haiku.txt", "Compiling Haiku" section.
index b110f9113594d0176b7bafd3cf235b620db056e1..19453c7421b5d0d8e63f145a109195fe3d2de362 100644 (file)
@@ -1404,8 +1404,8 @@ HAIKUGUI_TESTTARGET = gui
 HAIKUGUI_BUNDLE =
 
 # All GUI files
-ALL_GUI_SRC  = gui.c gui_gtk.c gui_gtk_f.c gui_motif.c gui_xmdlg.c gui_xmebw.c gui_athena.c gui_gtk_x11.c gui_x11.c gui_at_sb.c gui_at_fs.c
-ALL_GUI_PRO  = gui.pro gui_gtk.pro gui_motif.pro gui_xmdlg.pro gui_athena.pro gui_gtk_x11.pro gui_x11.pro gui_w32.pro gui_photon.pro
+ALL_GUI_SRC  = gui.c gui_gtk.c gui_gtk_f.c gui_motif.c gui_xmdlg.c gui_xmebw.c gui_athena.c gui_gtk_x11.c gui_x11.c gui_at_sb.c gui_at_fs.c gui_haiku.cc
+ALL_GUI_PRO  = gui.pro gui_gtk.pro gui_motif.pro gui_xmdlg.pro gui_athena.pro gui_gtk_x11.pro gui_x11.pro gui_w32.pro gui_photon.pro gui_haiku.pro
 
 # }}}
 
index f44620038d8e59ad1b3611e54f9e064f030a84ea..4332389642d6e9dddc1aa6bb474bd21ca645891f 100644 (file)
@@ -79,6 +79,10 @@ typedef struct BalloonEvalStruct
 #ifdef FEAT_GUI_MSWIN
     void               *tofree;
 #endif
+#ifdef FEAT_GUI_HAIKU
+    int                        x;
+    int                        y;
+#endif
 } BalloonEval;
 
 #define EVAL_OFFSET_X 15 // displacement of beval topleft corner from pointer
index b7ecf644027110bd6f5d87666ea82b482eb4e43a..f26e9035a5afab91f1c024118aeffa56d93d8e23 100644 (file)
@@ -2916,6 +2916,7 @@ VimToolbar::RemoveButton(vimmenu_T *menu)
                        menu->button = NULL;
                }
        }
+       return true;
 }
 
        bool
@@ -2926,6 +2927,7 @@ VimToolbar::GrayButton(vimmenu_T *menu, int grey)
                if(index >= 0)
                        menu->button->SetEnabled(grey ? false : true);
        }
+       return true;
 }
 
        void
@@ -3563,7 +3565,7 @@ gui_mch_set_text_area_pos(
                gui.vimTextArea->MoveTo(x, y);
                gui.vimTextArea->ResizeTo(w - PEN_WIDTH, h - PEN_WIDTH);
 
-/*#ifdef FEAT_GUI_TABLINE
+#ifdef FEAT_GUI_TABLINE
                if(gui.vimForm->TabLine() != NULL) {
                        gui.vimForm->TabLine()->ResizeTo(w, gui.vimForm->TablineHeight());
                }
@@ -3679,7 +3681,7 @@ gui_mch_create_scrollbar(
        }
 }
 
-#if defined(FEAT_WINDOWS) || defined(PROTO)
+#if defined(FEAT_WINDOWS) || defined(FEAT_GUI_HAIKU) || defined(PROTO)
 void
 gui_mch_destroy_scrollbar(
                scrollbar_T     *sb)
@@ -3736,7 +3738,7 @@ gui_mch_set_blinking(
  * Stop the cursor blinking.  Show the cursor if it wasn't shown.
  */
        void
-gui_mch_stop_blink()
+gui_mch_stop_blink(int may_call_gui_update_cursor)
 {
        // TODO
        if (blink_timer != 0)
@@ -3870,7 +3872,7 @@ gui_mch_get_font(
                hl_set_font_name((char_u*)font_name);
 
                //  Set guifont to the name of the selected font.
-               char_u* new_p_guifont = alloc(STRLEN(font_name) + 1);
+               char_u* new_p_guifont = (char_u*)alloc(STRLEN(font_name) + 1);
                if (new_p_guifont != NULL) {
                        STRCPY(new_p_guifont, font_name);
                        vim_free(p_guifont);
@@ -4488,7 +4490,7 @@ gui_mch_wait_for_chars(
                        if (gui.in_focus)
                                gui_mch_start_blink();
                        else
-                               gui_mch_stop_blink();
+                               gui_mch_stop_blink(TRUE);
                        focus = gui.in_focus;
                }
 
index 4d4c7d30deb2c53951a28ce9a3c390479865c47f..f392233311c0e76e75811c442a3e84d547424ef0 100644 (file)
@@ -6,7 +6,7 @@ int gui_mch_open(void);
 void gui_mch_exit(int vim_exitcode);
 int gui_mch_init_check(void);
 void gui_mch_flush(void);
-
+int gui_mch_is_blink_off(void);
 void gui_mch_new_colors(void);
 void gui_mch_set_bg_color(guicolor_T color);
 void gui_mch_set_fg_color(guicolor_T color);
index e446e6bfa9e5ba194d27bfb280ab0651c731e400..7bfe8b050e7c0f0a9612e2a828d490ffe87004f2 100644 (file)
@@ -746,6 +746,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    622,
 /**/
     621,
 /**/