diff --git a/src/plugins/metrics/register_gui.ml b/src/plugins/metrics/register_gui.ml
index 409334f21a2e2780911581779251d22303acaf59..ecc830a861ebb8439a1398bd906836cce3b6c6fe 100644
--- a/src/plugins/metrics/register_gui.ml
+++ b/src/plugins/metrics/register_gui.ml
@@ -51,7 +51,8 @@ module HalsteadMetricsGUI = struct
       padder#add (box:>GObj.widget);
       ignore(GMisc.label ~markup:(Printf.sprintf "<b>%s</b>" name)
                ~justify:`LEFT ~packing:box#pack ());
-      ignore(GMisc.separator `HORIZONTAL ~packing:box#pack ());
+      (*GTK3: no separator *)
+      (* ignore(GMisc.separator `HORIZONTAL ~packing:box#pack ()); *)
       let metrics = Metrics_cabs.Halstead.get_metrics () in
       let table_contents = Metrics_cabs.Halstead.to_list metrics in
       Metrics_gui.display_as_table table_contents box
@@ -109,7 +110,8 @@ module CyclomaticMetricsGUI = struct
 			  true));
 	      ignore(GMisc.label ~markup:(Printf.sprintf "<b>%s</b>" fname)
 		       ~justify:`LEFT ~packing:vbox#pack ());
-	      ignore(GMisc.separator `HORIZONTAL ~packing:vbox#pack ());
+              (*GTK3: no separator *)
+	      (* ignore(GMisc.separator `HORIZONTAL ~packing:vbox#pack ()); *)
 	      let metrics_data  = [["total stmts";(string_of_int total)]; 
 				   ["stmts analyzed";(string_of_int valeur)];
 				   ["percentage of stmts covered"; (string_of_float percent)]
@@ -143,7 +145,8 @@ module CyclomaticMetricsGUI = struct
                   true));
       ignore(GMisc.label ~markup:(Printf.sprintf "<b>%s</b>" fname)
                ~justify:`LEFT ~packing:vbox#pack ());
-      ignore(GMisc.separator `HORIZONTAL ~packing:vbox#pack ());
+      (*GTK3: no separator*)
+      (* ignore(GMisc.separator `HORIZONTAL ~packing:vbox#pack ()); *)
       let metrics_data  = BasicMetrics.to_list self#get_data in
       Metrics_gui.display_as_table metrics_data vbox;
       let close_button = GButton.button ~stock:`OK ~packing:vbox#pack () in
@@ -201,7 +204,8 @@ module CyclomaticMetricsGUI = struct
     padder#add (box:>GObj.widget);
     ignore(GMisc.label ~markup:(Printf.sprintf "<b>%s</b>" name)
              ~justify:`LEFT ~packing:box#pack ());
-    ignore(GMisc.separator `HORIZONTAL ~packing:box#pack ());
+    (* GTK3: no separator. *)
+    (* ignore(GMisc.separator `HORIZONTAL ~packing:box#pack ()); *)
     let metrics = Metrics_cilast.get_global_metrics ~libc in
     let table_contents = BasicMetrics.to_list metrics in
     Metrics_gui.display_as_table table_contents box
@@ -338,7 +342,8 @@ module ValueCoverageGUI = struct
     padder#add (box:>GObj.widget);
     ignore(GMisc.label ~markup:(Printf.sprintf "<b>%s</b>" name)
              ~justify:`LEFT ~packing:box#pack ());
-    ignore(GMisc.separator `HORIZONTAL ~packing:box#pack ());
+    (* GTK3: no separator *)
+    (* ignore(GMisc.separator `HORIZONTAL ~packing:box#pack ()); *)
     let metrics = compute ~libc in
     let pcent = Metrics_coverage.percent_coverage ~libc metrics in
     let progress_bar = GRange.progress_bar ~packing:box#pack () in
diff --git a/src/plugins/scope/dpds_gui.ml b/src/plugins/scope/dpds_gui.ml
index 410bb216d697e3d0ccaa144efca88a25068e8915..51b5d5e0a9f4bc8a640820cc65751ac87438133f 100644
--- a/src/plugins/scope/dpds_gui.ml
+++ b/src/plugins/scope/dpds_gui.ml
@@ -531,10 +531,12 @@ let selector (popup_factory:GMenu.menu GMenu.factory)
       add_zones_item "DataScope" Scope;
       add_zones_item "PropScope" Pscope;
 
-      ignore (submenu_factory#add_separator ());
+      (*GTK3: no separator. *)
+      (* ignore (submenu_factory#add_separator ()); *)
       add_item main_ui ~use_values:false submenu_factory "Reset All" (Some())
         (fun _ -> reset () ; main_ui#rehighlight ());
-      ignore (submenu_factory#add_separator ());
+      (*GTK3: no separator. *)
+      (* ignore (submenu_factory#add_separator ()); *)
       add_item main_ui ~use_values:false submenu_factory
         "Help" (Some()) (fun _ -> help main_ui) ;
     end
diff --git a/src/plugins/slicing/register_gui.ml b/src/plugins/slicing/register_gui.ml
index e8abaf50f85479ec6199298d5fd0d143f3a6e3c4..e3f4129b36d8525fcaa5fad17899cc15ac61102e 100644
--- a/src/plugins/slicing/register_gui.ml
+++ b/src/plugins/slicing/register_gui.ml
@@ -377,7 +377,8 @@ let slicing_selector (popup_factory:GMenu.menu GMenu.factory)
         | _  ->
             add_slice_menu None None
       end;
-      ignore (slicing_factory#add_separator ());
+      (*GTK3: no add_separator*)
+      (* ignore (slicing_factory#add_separator ()); *)
     end
 
 let slicing_highlighter(buffer:Design.reactive_buffer) localizable ~start ~stop=
diff --git a/src/plugins/studia/studia_gui.ml b/src/plugins/studia/studia_gui.ml
index 552a1ee2e0c214b8217a9e6c635beaa4349574e6..d1c897d2a1bfb472d1ed4d2e462383376143d1cf 100644
--- a/src/plugins/studia/studia_gui.ml
+++ b/src/plugins/studia/studia_gui.ml
@@ -280,7 +280,7 @@ let selector (popup_factory:GMenu.menu GMenu.factory)
              ~button localizable =
   if button = 3 then begin
     let submenu = popup_factory#add_submenu "Studia" in
-    let submenu_factory = new GMenu.factory submenu in
+    let _submenu_factory = new GMenu.factory submenu in
     let arg = match (Pretty_source.kf_of_localizable localizable,
                      Pretty_source.ki_of_localizable localizable)
       with
@@ -294,10 +294,12 @@ let selector (popup_factory:GMenu.menu GMenu.factory)
     in
     add_menu_item "Writes" (callback `Writes);
     add_menu_item "Reads" (callback `Reads);
-    ignore (submenu_factory#add_separator ());
+    (*GTK3: no add_separator *)
+    (* ignore (submenu_factory#add_separator ());*)
     add_item main_ui ~uses_value:false submenu "Reset All" (Some())
       (fun _ -> reset () ; main_ui#rehighlight ());
-    ignore (submenu_factory#add_separator ());
+    (*GTK3: no add_separator *)
+    (* ignore (submenu_factory#add_separator ()); *)
     add_item main_ui ~uses_value:false submenu
       "Help" (Some()) (fun _ -> help main_ui) ;
   end
diff --git a/src/plugins/value/gui_files/gui_callstacks_manager.ml b/src/plugins/value/gui_files/gui_callstacks_manager.ml
index 2d6a51bb4e7065d60798c25627b6407439db3676..ed9ac1a087f091ee1cbc9f55206b68d899e61799 100644
--- a/src/plugins/value/gui_files/gui_callstacks_manager.ml
+++ b/src/plugins/value/gui_files/gui_callstacks_manager.ml
@@ -326,7 +326,8 @@ module Make (Input: Input) = struct
              list_mem equal_column_type col_type model.hidden_columns
           then
             let show = GMenu.check_menu_item ~label:txt () in
-            show#set_show_toggle true;
+            (*GTK3: does not exist *)
+            (* show#set_show_toggle true;*)
             show#set_active column#visible;
             (* Hide this column. Keep it alive for filters and co. *)
             let callback_show_hide () =
@@ -354,8 +355,7 @@ module Make (Input: Input) = struct
       let _lbl = GMisc.label ~text ~packing:h#pack () in
       let icon = GMisc.image ~xpad:10 ~stock:`COLOR_PICKER ~packing:h#pack () in
       icon#misc#hide ();
-      let tooltip_before = GData.tooltips () in
-      tooltip_before#set_tip ~text:tooltip h#coerce;
+      Gtk_helper.do_tooltip ~tooltip h;
       (* set_widget forces Gtk to create a header button for the view_column. *)
       col#set_widget (Some h#coerce);
       icon
@@ -691,7 +691,8 @@ module Make (Input: Input) = struct
       let equal = GMenu.menu_item ~label:"Only equal" () in
       let different = GMenu.menu_item ~label:"Only different" () in
       menu#add copy;
-      menu#add (GMenu.separator_item ());
+      (* GTK3: no separator*)
+      (* menu#add (GMenu.separator_item ()); *)
       menu#add equal;
       menu#add different;
       ignore (copy#connect#activate callback_copy);