--- a/src/settings.c
+++ b/src/settings.c
@@ -153,7 +153,7 @@
 {
   guint current =
     (guint) gtk_notebook_get_current_page (GTK_NOTEBOOK(window->tabbox));
-  window->is_visible = (page != -1 && page != current)
+  window->is_visible = (page != (guint) -1 && page != current)
 		       ? TRUE : !window->is_visible;
   if (window->is_visible)
   {
@@ -174,7 +174,7 @@
   struct slider_window_s *window = data;
   switch (response)
   {
-  case GTK_RESPONSE_CANCEL:
+  case GTK_RESPONSE_REJECT:
     sliders_revert (window, -1, TRUE);
     break;
   case 1:
@@ -217,7 +217,8 @@
 
 static void sliders_create (struct slider_window_s *window)
 {
-  int page, lock;
+  unsigned int page;
+  int lock;
   xine_cfg_entry_t entry;
 
   /* window */
@@ -229,11 +230,12 @@
 				  (GTK_STOCK_CLEAR, _("_Default")),
 				1);
   gtk_dialog_add_buttons (GTK_DIALOG(window->window),
-			GTK_STOCK_UNDO, GTK_RESPONSE_CANCEL,
+			GTK_STOCK_UNDO, GTK_RESPONSE_REJECT,
 			GTK_STOCK_CLOSE, GTK_RESPONSE_DELETE_EVENT,
 			NULL);
   gtk_window_set_default_size (GTK_WINDOW (window->window), 500, 150);
   hide_on_delete (window->window, &window->is_visible);
+  ui_add_undo_response (window->window, NULL);
   g_signal_connect (G_OBJECT(window->window), "response",
 		    G_CALLBACK(response_cb), window);
 
@@ -293,7 +295,8 @@
       static const char pad[] = "____________";
       GtkWidget *w =
 	gtk_label_new (pad + sizeof (pad) - 1 -
-		       ((int) max > sizeof (pad) ? sizeof (pad) : (int) max));
+		       (max > (int) sizeof (pad) ? (int) sizeof (pad)
+						 : (int) max));
       gtk_widget_set_size_request (w, -1, 1);
       gtk_table_attach (GTK_TABLE(table), w,
 			1, 2, i, i+1, GTK_FILL, GTK_FILL, 2, 0);