4308379
--- gnome-system-monitor-2.27.4/src/memmaps.cpp	2009-07-11 08:50:19.000000000 -0400
4308379
+++ hacked/src/memmaps.cpp	2009-08-22 18:42:09.037680410 -0400
4308379
@@ -452,18 +452,17 @@
4308379
 	g_free (memmaps);
4308379
 }
4308379
 
4308379
-
4308379
-
4308379
-static gboolean window_delete_event(GtkWidget *, GdkEvent *, gpointer data)
4308379
+static void
4308379
+dialog_response (GtkDialog *dialog, gint response_id, gpointer data)
4308379
 {
4308379
 	MemMapsData * const mmdata = static_cast<MemMapsData*>(data);
4308379
 
4308379
 	g_source_remove (mmdata->timer);
4308379
 
4308379
 	delete mmdata;
4308379
-	return FALSE;
4308379
-}
4308379
 
4308379
+	gtk_widget_destroy (GTK_WIDGET (dialog));
4308379
+}
4308379
 
4308379
 static MemMapsData*
4308379
 create_memmapsdata (ProcData *procdata)
4308379
@@ -601,27 +600,17 @@
4308379
 	mmdata = create_memmapsdata (procdata);
4308379
 	mmdata->info = info;
4308379
 
4308379
-	memmapsdialog = gtk_window_new(GTK_WINDOW_TOPLEVEL);
4308379
-	gtk_window_set_transient_for(GTK_WINDOW(memmapsdialog), GTK_WINDOW(procdata->app));
4308379
-	gtk_window_set_destroy_with_parent(GTK_WINDOW(memmapsdialog), TRUE);
4308379
-	// gtk_window_set_modal(GTK_WINDOW(dialog), TRUE);
4308379
-	gtk_window_set_title(GTK_WINDOW(memmapsdialog), _("Memory Maps"));
4308379
+	memmapsdialog = gtk_dialog_new_with_buttons (_("Memory Maps"), GTK_WINDOW (procdata->app),
4308379
+                                                     GTK_DIALOG_DESTROY_WITH_PARENT,
4308379
+                                                     GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
4308379
+                                                     NULL);
4308379
 	gtk_window_set_resizable(GTK_WINDOW(memmapsdialog), TRUE);
4308379
 	gtk_window_set_default_size(GTK_WINDOW(memmapsdialog), 575, 400);
4308379
-	// gtk_dialog_set_has_separator(GTK_DIALOG(dialog), FALSE);
4308379
-	gtk_container_set_border_width(GTK_CONTAINER(memmapsdialog), 12);
4308379
+	gtk_dialog_set_has_separator(GTK_DIALOG(memmapsdialog), FALSE);
4308379
+	gtk_container_set_border_width(GTK_CONTAINER(memmapsdialog), 5);
4308379
 
4308379
-	GtkWidget *mainbox = gtk_vbox_new(FALSE, 12);
4308379
-	gtk_container_add(GTK_CONTAINER(memmapsdialog), mainbox);
4308379
-
4308379
-	vbox = mainbox;
4308379
-	gtk_box_set_spacing (GTK_BOX (vbox), 2);
4308379
-	gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
4308379
-
4308379
-	dialog_vbox = gtk_vbox_new (FALSE, 6);
4308379
+	dialog_vbox = GTK_DIALOG (memmapsdialog)->vbox;
4308379
 	gtk_container_set_border_width (GTK_CONTAINER (dialog_vbox), 5);
4308379
-	gtk_box_pack_start (GTK_BOX (vbox), dialog_vbox, TRUE, TRUE, 0);
4308379
-
4308379
 
4308379
 	label = procman_make_label_for_mmaps_or_ofiles (
4308379
 		_("_Memory maps for process \"%s\" (PID %u):"),
4308379
@@ -643,10 +632,10 @@
4308379
 
4308379
 	gtk_box_pack_start (GTK_BOX (dialog_vbox), scrolled, TRUE, TRUE, 0);
4308379
 
4308379
-	gtk_widget_show_all (memmapsdialog);
4308379
+        g_signal_connect (G_OBJECT (memmapsdialog), "response",
4308379
+			 G_CALLBACK(dialog_response), mmdata);
4308379
 
4308379
-	g_signal_connect(G_OBJECT(memmapsdialog), "delete-event",
4308379
-			 G_CALLBACK(window_delete_event), mmdata);
4308379
+	gtk_widget_show_all (memmapsdialog);
4308379
 
4308379
 	mmdata->timer = g_timeout_add_seconds (5, memmaps_timer, mmdata);
4308379