patch 8.2.0622: Haiku: GUI does not compile

Problem:    Haiku: GUI does not compile.
Solution:   Various fixes. (Emir Sari, closes #5961)
diff --git a/src/Makefile b/src/Makefile
index b110f91..19453c7 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1404,8 +1404,8 @@
 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
 
 # }}}
 
diff --git a/src/beval.h b/src/beval.h
index f446200..4332389 100644
--- a/src/beval.h
+++ b/src/beval.h
@@ -79,6 +79,10 @@
 #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
diff --git a/src/gui_haiku.cc b/src/gui_haiku.cc
index b7ecf64..f26e903 100644
--- a/src/gui_haiku.cc
+++ b/src/gui_haiku.cc
@@ -2916,6 +2916,7 @@
 			menu->button = NULL;
 		}
 	}
+	return true;
 }
 
 	bool
@@ -2926,6 +2927,7 @@
 		if(index >= 0)
 			menu->button->SetEnabled(grey ? false : true);
 	}
+	return true;
 }
 
 	void
@@ -3563,7 +3565,7 @@
 		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 @@
 	}
 }
 
-#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 @@
  * 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 @@
 		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 @@
 			if (gui.in_focus)
 				gui_mch_start_blink();
 			else
-				gui_mch_stop_blink();
+				gui_mch_stop_blink(TRUE);
 			focus = gui.in_focus;
 		}
 
diff --git a/src/proto/gui_haiku.pro b/src/proto/gui_haiku.pro
index 4d4c7d3..f392233 100644
--- a/src/proto/gui_haiku.pro
+++ b/src/proto/gui_haiku.pro
@@ -6,7 +6,7 @@
 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);
diff --git a/src/version.c b/src/version.c
index e446e6b..7bfe8b0 100644
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    622,
+/**/
     621,
 /**/
     620,