ports/90013: [PATCH] Patch to build nmapfe against Gtk2

Meethune Bhowmick meethune at oss-institute.org
Tue Dec 6 07:20:04 UTC 2005


>Number:         90013
>Category:       ports
>Synopsis:       [PATCH] Patch to build nmapfe against Gtk2
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Dec 06 07:20:02 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Meethune Bhowmick
>Release:        FreeBSD 6.0-STABLE
>Organization:
Open Source Software Institute
>Environment:
FreeBSD kali.kush.homelinux.net 6.0-STABLE FreeBSD 6.0-STABLE #8: Sun Nov 20 01:23:17 CST 2005     root at kali.kush.homelinux.net:/usr/obj/usr/src/sys/FreeBSD_VM  i386
>Description:
Starting with this article (http://www.mikesplanet.net/?p=5), I generated a
patch that allows for building a gtk2 enabled nmapfe. I originally did this for Gentoo, but the patch applies cleanly and works well in FreeBSD as well.

The patch is attached as the fix and can also be found here
(http://gentoo.mercymachines.net/overlay/portage/net-analyzer/nmap/files/nmap-3.93-nmapfe-gtk2.patch)
>How-To-Repeat:
              
>Fix:
diff -ruNd nmap-3.93/configure.ac nmap-3.93.new/configure.ac
--- nmap-3.93/configure.ac	2005-09-12 02:07:25.000000000 -0500
+++ nmap-3.93.new/configure.ac	2005-12-05 19:10:56.000000000 -0600
@@ -750,17 +750,17 @@
 
 if test "${with_nmapfe}" = "yes"; then
 dnl Check for GTK+
-AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
+AC_PATH_PROG(GTK_CONFIG, pkg-config, no)
 AC_MSG_CHECKING(If you have GTK+ installed)
 if test "$GTK_CONFIG" = "no" ; then
   AC_MSG_RESULT([no])
   AC_MSG_WARN([Gtk+ has not been installed -> nmapfe will not be made])
 else
-  GTK_NEEDED_MAJOR=1
-  GTK_NEEDED_MINOR=2
-  GTK_NEEDED_MICRO=7
+  GTK_NEEDED_MAJOR=2
+  GTK_NEEDED_MINOR=4
+  GTK_NEEDED_MICRO=0
   GTK_MINVERSION=$GTK_NEEDED_MAJOR.$GTK_NEEDED_MINOR.$GTK_NEEDED_MICRO
-  ver=`gtk-config --version`
+  ver=`pkg-config --modversion gtk+-2.0`
   dnl Extract the information.
   major=`echo $ver|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
   minor=`echo $ver|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
diff -ruNd nmap-3.93/nmapfe/configure.ac nmap-3.93.new/nmapfe/configure.ac
--- nmap-3.93/nmapfe/configure.ac	2005-04-14 20:23:28.000000000 -0500
+++ nmap-3.93.new/nmapfe/configure.ac	2005-12-05 19:11:05.000000000 -0600
@@ -9,8 +9,8 @@
 #AM_PATH_GTK(1.0.0,
 #            [LIBS="$LIBS $GTK_LIBS" CFLAGS="$CFLAGS $GTK_CFLAGS"],
 #            AC_MSG_ERROR(Cannot find GTK: Is gtk-config in path?))
-AM_PATH_GTK(1.0.0,
-            [LIBS="$LIBS $GTK_LIBS" CFLAGS="$CFLAGS $GTK_CFLAGS"],
+AM_PATH_GTK_2_0(2.0.0,
+            [LIBS="$LIBS $GTK_LIBS" CFLAGS="$CFLAGS $GTK_CFLAGS -DGTK_ENABLE_BROKEN"],
             AC_DEFINE(MISSING_GTK) \
 	    AC_MSG_WARN(NMAPFE WILL NOT BE BUILT -- BUT NMAP SHOULD STILL WORK ))
 
diff -ruNd nmap-3.93/nmapfe/nmapfe.c nmap-3.93.new/nmapfe/nmapfe.c
--- nmap-3.93/nmapfe/nmapfe.c	2005-04-14 20:23:28.000000000 -0500
+++ nmap-3.93.new/nmapfe/nmapfe.c	2005-12-05 19:11:05.000000000 -0600
@@ -349,7 +349,7 @@
 
 /* Exit button (rightmost in hbox) */
   button = gtk_button_new_with_label("Exit");
-  gtk_object_set(GTK_OBJECT(button), "width", 48, NULL);
+  /*gtk_object_set(GTK_OBJECT(button), "width", 48, NULL);*/
   gtk_signal_connect(GTK_OBJECT(button), "clicked",
                      GTK_SIGNAL_FUNC(exitNmapFE_cb), NULL);
   gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0);
@@ -357,7 +357,7 @@
 
 /* Scan button (2nd right in hbox) */
   opt.scanButton = gtk_toggle_button_new_with_label("Scan");
-  gtk_object_set(GTK_OBJECT(opt.scanButton), "width", 72, NULL);
+  /*gtk_object_set(GTK_OBJECT(opt.scanButton), "width", 72, NULL);*/
   gtk_signal_connect(GTK_OBJECT(opt.scanButton), "toggled",
                      GTK_SIGNAL_FUNC(scanButton_toggled_cb), NULL);
   gtk_box_pack_end(GTK_BOX(hbox), opt.scanButton, FALSE, FALSE, 0);
@@ -394,7 +394,8 @@
   opt.scanValue = (opt.uid == 0) ? SYN_SCAN : CONNECT_SCAN;
   gtk_option_menu_set_history(GTK_OPTION_MENU(opt.scanType),
                               opt.scanValue - SCAN_OFFSET);
-  gtk_object_set(GTK_OBJECT(opt.scanType), "height", 26, NULL);
+  
+  /*gtk_object_set(GTK_OBJECT(opt.scanType), "height", 26, NULL);*/
   gtk_table_attach_defaults(GTK_TABLE(table), opt.scanType, 0, 4, 0, 1);
   gtk_widget_show(opt.scanType);
 
@@ -407,7 +408,7 @@
 
   opt.scanRelay = gtk_entry_new();
   gtk_entry_set_max_length(GTK_ENTRY(opt.scanRelay), 256);
-  gtk_object_set(GTK_OBJECT(opt.scanRelay), "width", 150, NULL);
+  /*gtk_object_set(GTK_OBJECT(opt.scanRelay), "width", 150, NULL);*/
   gtk_signal_connect(GTK_OBJECT(opt.scanRelay), "changed",
                      GTK_SIGNAL_FUNC(display_nmap_command_cb), NULL);
   if ((opt.scanValue != BOUNCE_SCAN) && (opt.scanValue != IDLE_SCAN))
@@ -433,7 +434,7 @@
                                       protportEntries, &opt.protportValue);
   gtk_option_menu_set_history(GTK_OPTION_MENU(opt.protportType),
                               opt.protportValue - PROTPORT_OFFSET);
-  gtk_object_set(GTK_OBJECT(opt.protportType), "height", 26, NULL);
+  /*  gtk_object_set(GTK_OBJECT(opt.protportType), "height", 26, NULL);*/
   gtk_table_attach_defaults(GTK_TABLE(table), opt.protportType, 0, 2, 0, 1);
   gtk_widget_show(opt.protportType);
 
@@ -446,7 +447,7 @@
 
   opt.protportRange = gtk_entry_new();
   gtk_entry_set_max_length(GTK_ENTRY(opt.protportRange), 256);
-  gtk_object_set(GTK_OBJECT(opt.protportRange), "width", 100, NULL);
+  /*gtk_object_set(GTK_OBJECT(opt.protportRange), "width", 100, NULL);*/
   gtk_signal_connect(GTK_OBJECT(opt.protportRange), "changed",
                      GTK_SIGNAL_FUNC(display_nmap_command_cb), NULL);
   if (opt.protportValue != GIVEN_PROTPORT)
@@ -513,7 +514,7 @@
 
 /* Discover/Ping page (second in notebook) */
   nblabel = gtk_label_new("Discover");
-  nbpage = gtk_table_new(4, 4, TRUE);
+  nbpage = gtk_table_new(4, 4, FALSE);
   // nbpage = gtk_vbox_new(FALSE, 5);
   gtk_container_set_border_width(GTK_CONTAINER(nbpage), 5);
 
@@ -577,7 +578,7 @@
   
   opt.tcpPingPorts = gtk_entry_new();
   gtk_entry_set_max_length(GTK_ENTRY(opt.tcpPingPorts), 256);
-  gtk_object_set(GTK_OBJECT(opt.tcpPingPorts), "width", 100, NULL);
+  /*gtk_object_set(GTK_OBJECT(opt.tcpPingPorts), "width", 100, NULL);*/
   gtk_signal_connect(GTK_OBJECT(opt.tcpPingPorts), "changed",
 		     GTK_SIGNAL_FUNC(display_nmap_command_cb), NULL);
   gtk_table_attach_defaults(GTK_TABLE(table), opt.tcpPingPorts, 3, 4, 0, 1);
@@ -600,7 +601,7 @@
   
   opt.synPingPorts = gtk_entry_new();
   gtk_entry_set_max_length(GTK_ENTRY(opt.synPingPorts), 256);
-  gtk_object_set(GTK_OBJECT(opt.synPingPorts), "width", 100, NULL);
+  /*gtk_object_set(GTK_OBJECT(opt.synPingPorts), "width", 100, NULL);*/
   gtk_signal_connect(GTK_OBJECT(opt.synPingPorts), "changed",
 		     GTK_SIGNAL_FUNC(display_nmap_command_cb), NULL);
   if ((opt.uid != 0)  || (! GTK_TOGGLE_BUTTON(opt.synPing)->active))
@@ -625,7 +626,7 @@
   
   opt.udpPingPorts = gtk_entry_new();
   gtk_entry_set_max_length(GTK_ENTRY(opt.udpPingPorts), 256);
-  gtk_object_set(GTK_OBJECT(opt.udpPingPorts), "width", 100, NULL);
+  /*gtk_object_set(GTK_OBJECT(opt.udpPingPorts), "width", 100, NULL);*/
   gtk_signal_connect(GTK_OBJECT(opt.udpPingPorts), "changed",
 		     GTK_SIGNAL_FUNC(display_nmap_command_cb), NULL);
   if ((opt.uid != 0) || (! GTK_TOGGLE_BUTTON(opt.udpPing)->active))
@@ -638,6 +639,7 @@
 
   gtk_widget_show(nblabel);
   gtk_widget_show(nbpage);
+
   gtk_notebook_append_page(GTK_NOTEBOOK(notebook), GTK_WIDGET(nbpage), GTK_WIDGET(nblabel));
 
 
@@ -660,7 +662,7 @@
                                       throttleEntries, &opt.throttleValue);
   gtk_option_menu_set_history(GTK_OPTION_MENU(opt.throttleType),
                               opt.throttleValue - THROTTLE_OFFSET);
-  gtk_object_set(GTK_OBJECT(opt.throttleType), "height", 24, NULL);
+  /*gtk_object_set(GTK_OBJECT(opt.throttleType), "height", 24, NULL);*/
   gtk_table_attach_defaults(GTK_TABLE(table), opt.throttleType, 0, 2, 0, 1);
   gtk_widget_show(opt.throttleType);
 
@@ -676,7 +678,7 @@
   gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(opt.ipv4TtlValue), TRUE);
   gtk_signal_connect(GTK_OBJECT(opt.ipv4Ttl), "released",
 		     GTK_SIGNAL_FUNC(toggle_button_set_sensitive_cb), opt.ipv4TtlValue);
-  gtk_object_set(GTK_OBJECT(opt.ipv4TtlValue), "width", 55, NULL);
+  /*  gtk_object_set(GTK_OBJECT(opt.ipv4TtlValue), "width", 55, NULL);*/
   gtk_signal_connect(GTK_OBJECT(opt.ipv4TtlValue), "changed",
 		     GTK_SIGNAL_FUNC(display_nmap_command_cb), NULL);
   if ((opt.uid != 0) || (! GTK_TOGGLE_BUTTON(opt.ipv4Ttl)->active))
@@ -694,7 +696,7 @@
   adjust = (GtkAdjustment *) gtk_adjustment_new(1.0, 1.0, 150.0, 1.0, 10.0, 10.0);
   opt.minParSocks = gtk_spin_button_new(adjust, 1.0, 0);
   gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(opt.minParSocks), TRUE);
-  gtk_object_set(GTK_OBJECT(opt.minParSocks), "width", 55, NULL);
+  /*gtk_object_set(GTK_OBJECT(opt.minParSocks), "width", 55, NULL);*/
   gtk_signal_connect(GTK_OBJECT(opt.minPar), "released",
 		     GTK_SIGNAL_FUNC(toggle_button_set_sensitive_cb), opt.minParSocks);
   gtk_signal_connect(GTK_OBJECT(opt.minParSocks), "changed",
@@ -714,7 +716,7 @@
   adjust = (GtkAdjustment *) gtk_adjustment_new(1.0, 1.0, 1500.0, 1.0, 10.0, 10.0);
   opt.maxParSocks = gtk_spin_button_new(adjust, 1.0, 0);
   gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(opt.maxParSocks), TRUE);
-  gtk_object_set(GTK_OBJECT(opt.maxParSocks), "width", 55, NULL);
+  /*gtk_object_set(GTK_OBJECT(opt.maxParSocks), "width", 55, NULL);*/
   gtk_signal_connect(GTK_OBJECT(opt.maxPar), "released",
 		     GTK_SIGNAL_FUNC(toggle_button_set_sensitive_cb), opt.maxParSocks);
   gtk_signal_connect(GTK_OBJECT(opt.maxParSocks), "changed",
@@ -733,7 +735,7 @@
 
   adjust = (GtkAdjustment *) gtk_adjustment_new(6000.0, 0.0, 9999999.0, 10.0, 100.0, 100.0);
   opt.startRttTime = gtk_spin_button_new(adjust, 10.0, 0);
-  gtk_object_set(GTK_OBJECT(opt.startRttTime), "width", 75, NULL);
+  /*  gtk_object_set(GTK_OBJECT(opt.startRttTime), "width", 75, NULL);*/
   gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(opt.startRttTime), TRUE);
   gtk_signal_connect(GTK_OBJECT(opt.startRtt), "released",
 		     GTK_SIGNAL_FUNC(toggle_button_set_sensitive_cb), opt.startRttTime);
@@ -760,7 +762,7 @@
   adjust = (GtkAdjustment *) gtk_adjustment_new(6000.0, 1.0, 9999999.0, 10.0, 100.0, 100.0);
   opt.minRttTime = gtk_spin_button_new(adjust, 10.0, 0);
   gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(opt.minRttTime), TRUE);
-  gtk_object_set(GTK_OBJECT(opt.minRttTime), "width", 75, NULL);
+  /*gtk_object_set(GTK_OBJECT(opt.minRttTime), "width", 75, NULL);*/
   gtk_signal_connect(GTK_OBJECT(opt.minRtt), "released",
 		     GTK_SIGNAL_FUNC(toggle_button_set_sensitive_cb), opt.minRttTime);
   gtk_signal_connect(GTK_OBJECT(opt.minRttTime), "changed",
@@ -786,7 +788,7 @@
   adjust = (GtkAdjustment *) gtk_adjustment_new(6000.0, 6.0, 9999999.0, 10.0, 100.0, 100.0);
   opt.maxRttTime = gtk_spin_button_new(adjust, 10.0, 0);
   gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(opt.maxRttTime), TRUE);
-  gtk_object_set(GTK_OBJECT(opt.maxRttTime), "width", 75, NULL);
+  /*gtk_object_set(GTK_OBJECT(opt.maxRttTime), "width", 75, NULL);*/
   gtk_signal_connect(GTK_OBJECT(opt.maxRtt), "released",
 		     GTK_SIGNAL_FUNC(toggle_button_set_sensitive_cb), opt.maxRttTime);
   gtk_signal_connect(GTK_OBJECT(opt.maxRttTime), "changed",
@@ -812,7 +814,7 @@
   adjust = (GtkAdjustment *) gtk_adjustment_new(6000.0, 201.0, 9999999.0, 10.0, 100.0, 100.0);
   opt.hostTimeoutTime = gtk_spin_button_new(adjust, 10.0, 0);
   gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(opt.hostTimeoutTime), TRUE);
-  gtk_object_set(GTK_OBJECT(opt.hostTimeoutTime), "width", 75, NULL);
+  /*gtk_object_set(GTK_OBJECT(opt.hostTimeoutTime), "width", 75, NULL);*/
   gtk_signal_connect(GTK_OBJECT(opt.hostTimeout), "released",
 		     GTK_SIGNAL_FUNC(toggle_button_set_sensitive_cb), opt.hostTimeoutTime);
   gtk_signal_connect(GTK_OBJECT(opt.hostTimeoutTime), "changed",
@@ -838,7 +840,7 @@
   adjust = (GtkAdjustment *) gtk_adjustment_new(6000.0, 1.0, 9999999.0, 10.0, 100.0, 100.0);
   opt.scanDelayTime = gtk_spin_button_new(adjust, 10.0, 0);
   gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(opt.scanDelayTime), TRUE);
-  gtk_object_set(GTK_OBJECT(opt.scanDelayTime), "width", 75, NULL);
+  /*gtk_object_set(GTK_OBJECT(opt.scanDelayTime), "width", 75, NULL);*/
   gtk_signal_connect(GTK_OBJECT(opt.scanDelay), "released",
 		     GTK_SIGNAL_FUNC(toggle_button_set_sensitive_cb), opt.scanDelayTime);
   gtk_signal_connect(GTK_OBJECT(opt.scanDelayTime), "changed",
@@ -860,6 +862,7 @@
 
   gtk_widget_show(nblabel);
   gtk_widget_show(nbpage);
+
   gtk_notebook_append_page(GTK_NOTEBOOK(notebook), GTK_WIDGET(nbpage), GTK_WIDGET(nblabel));
 
 
@@ -886,7 +889,7 @@
 
   opt.inputFilename = gtk_entry_new();
   gtk_entry_set_max_length(GTK_ENTRY(opt.inputFilename), 256);
-  gtk_object_set(GTK_OBJECT(opt.inputFilename), "width", 110, NULL);
+  /*  gtk_object_set(GTK_OBJECT(opt.inputFilename), "width", 110, NULL);*/
   gtk_signal_connect(GTK_OBJECT(opt.inputFilename), "changed",
 		     GTK_SIGNAL_FUNC(display_nmap_command_cb), NULL);
   gtk_widget_set_sensitive(GTK_WIDGET(opt.inputFilename),
@@ -923,7 +926,7 @@
 
   opt.outputFilename = gtk_entry_new();
   gtk_entry_set_max_length(GTK_ENTRY(opt.outputFilename), 256);
-  gtk_object_set(GTK_OBJECT(opt.outputFilename), "width", 110, NULL);
+  /*gtk_object_set(GTK_OBJECT(opt.outputFilename), "width", 110, NULL);*/
   gtk_signal_connect(GTK_OBJECT(opt.outputFilename), "changed",
 		     GTK_SIGNAL_FUNC(display_nmap_command_cb), NULL);
   gtk_widget_set_sensitive(GTK_WIDGET(opt.outputFilename),
@@ -949,7 +952,7 @@
                                       outputFormatEntries, &opt.outputFormatValue);
   gtk_option_menu_set_history(GTK_OPTION_MENU(opt.outputFormatType),
                               opt.outputFormatValue - OUTPUT_OFFSET);
-  gtk_object_set(GTK_OBJECT(opt.outputFormatType), "height", 24, NULL);
+  /*  gtk_object_set(GTK_OBJECT(opt.outputFormatType), "height", 24, NULL);*/
   gtk_widget_set_sensitive(GTK_WIDGET(opt.outputFormatType),
                            GTK_TOGGLE_BUTTON(opt.useOutputFile)->active);
   gtk_table_attach_defaults(GTK_TABLE(table), opt.outputFormatType, 2, 4, 3, 4);
@@ -968,6 +971,7 @@
 
   gtk_widget_show(nblabel);
   gtk_widget_show(nbpage);
+
   gtk_notebook_append_page(GTK_NOTEBOOK(notebook), GTK_WIDGET(nbpage), GTK_WIDGET(nblabel));
 
 
@@ -989,7 +993,7 @@
                                     resolveEntries, &opt.resolveValue);
   gtk_option_menu_set_history(GTK_OPTION_MENU(opt.resolveType),
                               opt.resolveValue - RESOLVE_OFFSET);
-  gtk_object_set(GTK_OBJECT(opt.resolveType), "height", 24, NULL);
+  /*gtk_object_set(GTK_OBJECT(opt.resolveType), "height", 24, NULL);*/
   gtk_box_pack_start(GTK_BOX(vbox), opt.resolveType, TRUE, FALSE, 0);
   gtk_widget_show(opt.resolveType);
 
@@ -1008,7 +1012,7 @@
                                     verboseEntries, &opt.verboseValue);
   gtk_option_menu_set_history(GTK_OPTION_MENU(opt.verboseType),
                               opt.verboseValue - VERBOSE_OFFSET);
-  gtk_object_set(GTK_OBJECT(opt.verboseType), "height", 24, NULL);
+  /*  gtk_object_set(GTK_OBJECT(opt.verboseType), "height", 24, NULL);*/
   gtk_box_pack_start(GTK_BOX(vbox), opt.verboseType, TRUE, FALSE, 0);
   gtk_widget_show(opt.verboseType);
 
@@ -1034,7 +1038,7 @@
 
   opt.SourceDevice = gtk_entry_new();
   gtk_entry_set_max_length(GTK_ENTRY(opt.SourceDevice), 64);
-  gtk_object_set(GTK_OBJECT(opt.SourceDevice), "width", 110, NULL);
+  /*gtk_object_set(GTK_OBJECT(opt.SourceDevice), "width", 110, NULL);*/
   gtk_signal_connect(GTK_OBJECT(opt.useSourceDevice), "toggled",
 		     GTK_SIGNAL_FUNC(toggle_button_set_sensitive_cb), opt.SourceDevice);
   gtk_signal_connect(GTK_OBJECT(opt.SourceDevice), "changed",
@@ -1055,7 +1059,7 @@
 
   opt.SourcePort = gtk_entry_new();
   gtk_entry_set_max_length(GTK_ENTRY(opt.SourcePort), 64);
-  gtk_object_set(GTK_OBJECT(opt.SourcePort), "width", 110, NULL);
+  /*gtk_object_set(GTK_OBJECT(opt.SourcePort), "width", 110, NULL);*/
   gtk_signal_connect(GTK_OBJECT(opt.useSourcePort), "toggled",
 		     GTK_SIGNAL_FUNC(toggle_button_set_sensitive_cb), opt.SourcePort);
   gtk_signal_connect(GTK_OBJECT(opt.SourcePort), "changed",
@@ -1076,7 +1080,7 @@
 
   opt.SourceIP = gtk_entry_new();
   gtk_entry_set_max_length(GTK_ENTRY(opt.SourceIP), 64);
-  gtk_object_set(GTK_OBJECT(opt.SourceIP), "width", 110, NULL);
+  /*gtk_object_set(GTK_OBJECT(opt.SourceIP), "width", 110, NULL);*/
   gtk_signal_connect(GTK_OBJECT(opt.useSourceIP), "toggled",
 		     GTK_SIGNAL_FUNC(toggle_button_set_sensitive_cb), opt.SourceIP);
   gtk_signal_connect(GTK_OBJECT(opt.SourceIP), "changed",
@@ -1097,7 +1101,7 @@
 
   opt.Decoy = gtk_entry_new();
   gtk_entry_set_max_length(GTK_ENTRY(opt.Decoy), 256);
-  gtk_object_set(GTK_OBJECT(opt.Decoy), "width", 110, NULL);
+  /*gtk_object_set(GTK_OBJECT(opt.Decoy), "width", 110, NULL);*/
   gtk_signal_connect(GTK_OBJECT(opt.useDecoy), "toggled",
 		     GTK_SIGNAL_FUNC(toggle_button_set_sensitive_cb), opt.Decoy);
   gtk_signal_connect(GTK_OBJECT(opt.Decoy), "changed",
@@ -1151,29 +1155,32 @@
 
   gtk_widget_show(nblabel);
   gtk_widget_show(nbpage);
+  
   gtk_notebook_append_page(GTK_NOTEBOOK(notebook), GTK_WIDGET(nbpage), GTK_WIDGET(nblabel));
-
+  
   gtk_box_pack_start(GTK_BOX(main_vbox), notebook, FALSE, TRUE, 5);
   gtk_widget_show(notebook);
 
 
-/* output box (variable; below notebook) */
-  hbox = gtk_hbox_new(FALSE, 0);
-  gtk_box_pack_start(GTK_BOX(main_vbox), hbox, TRUE, TRUE, 5);
-
-/* text widget with scroll bar */
-  opt.output = gtk_text_new(NULL, NULL);
-  gtk_box_pack_start(GTK_BOX(hbox), opt.output, TRUE, TRUE, 0);
-  gtk_text_set_word_wrap(GTK_TEXT(opt.output), 1);
-  gtk_widget_set_usize(opt.output, 500, 248);
-  gtk_widget_show(opt.output);
-  gtk_widget_realize(opt.output);
+ /* output box (variable; below notebook) */
+   hbox = gtk_hbox_new(FALSE, 0);
+   gtk_box_pack_start(GTK_BOX(main_vbox), hbox, TRUE, TRUE, 5);
 
-  vscroll = gtk_vscrollbar_new(GTK_TEXT(opt.output)->vadj);
-  gtk_box_pack_end (GTK_BOX(hbox), vscroll, FALSE, FALSE, 0);
-  gtk_widget_show(vscroll);
+ /* text widget with scroll bar */
+   {
+     GtkWidget *sw;
+     sw = gtk_scrolled_window_new(NULL, NULL);
+     gtk_box_pack_start(GTK_BOX(main_vbox), sw, TRUE, TRUE, 5);
 
-  gtk_widget_show(hbox);
+     opt.output = gtk_text_new(NULL, NULL);
+    gtk_container_add(GTK_CONTAINER(sw),opt.output);
+    gtk_text_set_word_wrap(GTK_TEXT(opt.output), 1);
+    gtk_widget_set_usize(opt.output, 500, 248);
+    gtk_widget_show(opt.output);
+    gtk_widget_realize(opt.output);
+        
+    gtk_widget_show(sw);
+  }
 
 
 /* status hbox at bottom */
@@ -1208,19 +1215,24 @@
 GtkWidget *notebook;
 GtkWidget *text;
 GtkWidget *label;
-GtkWidget *hbox;
-GtkWidget *button;
 
-  aboutDialog = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ aboutDialog = gtk_dialog_new_with_buttons("About NmapFE & Nmap",
+					   NULL,
+					   GTK_DIALOG_MODAL,
+					   GTK_STOCK_OK,
+					   GTK_RESPONSE_NONE,
+					   NULL);
+					   
+
+ g_signal_connect_swapped (aboutDialog,
+			   "response", 
+			   G_CALLBACK (gtk_widget_destroy),
+			   aboutDialog);
+
   gtk_widget_set_usize(aboutDialog, 200, 200);
-  gtk_window_set_title(GTK_WINDOW(aboutDialog), "About NmapFE & Nmap");
-  gtk_window_set_policy(GTK_WINDOW(aboutDialog), FALSE, FALSE, FALSE);
   gtk_window_position(GTK_WINDOW(aboutDialog), GTK_WIN_POS_CENTER);
 
-  vbox = gtk_vbox_new(FALSE, 0);
-  gtk_widget_show(vbox);
-  gtk_container_add(GTK_CONTAINER(aboutDialog), vbox);
-  gtk_container_set_border_width(GTK_CONTAINER(vbox), 5);
+  vbox = GTK_DIALOG(aboutDialog)->vbox;
 
   notebook = gtk_notebook_new();
   gtk_box_pack_start(GTK_BOX(vbox), notebook, TRUE, TRUE, 0);
@@ -1251,17 +1263,6 @@
 
   gtk_widget_show(notebook);
 
-  hbox = gtk_hbox_new(FALSE, 0);
-  gtk_widget_show(hbox);
-  gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 5);
-
-  button = gtk_button_new_with_label("OK");
-  gtk_widget_show(button);
-  gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0);
-  gtk_signal_connect_object(GTK_OBJECT(button), "clicked",
-                            GTK_SIGNAL_FUNC(gtk_widget_destroy),
-                            (gpointer) aboutDialog);
-
   return(aboutDialog);
 }
 
@@ -1303,19 +1304,24 @@
 GtkWidget *notebook;
 GtkWidget *text;
 GtkWidget *label;
-GtkWidget *hbox;
-GtkWidget *button;
 
-  helpDialog = gtk_window_new(GTK_WINDOW_DIALOG);
+ helpDialog = gtk_dialog_new_with_buttons("Help With NmapFE",
+					  NULL,
+					  GTK_DIALOG_MODAL,
+					  GTK_STOCK_OK,
+					  GTK_RESPONSE_NONE,
+					  NULL);
+ 
+
+ g_signal_connect_swapped (helpDialog,
+			   "response", 
+			   G_CALLBACK (gtk_widget_destroy),
+			   helpDialog);
+
   gtk_widget_set_usize(helpDialog, 400, 300);
-  gtk_window_set_title(GTK_WINDOW(helpDialog), "Help With NmapFE");
-  gtk_window_set_policy(GTK_WINDOW(helpDialog), FALSE, FALSE, FALSE);
   gtk_window_position(GTK_WINDOW(helpDialog), GTK_WIN_POS_CENTER);
 
-  vbox = gtk_vbox_new(FALSE, 0);
-  gtk_widget_show(vbox);
-  gtk_container_set_border_width(GTK_CONTAINER(vbox), 5);
-  gtk_container_add(GTK_CONTAINER(helpDialog), vbox);
+  vbox = GTK_DIALOG(helpDialog)->vbox;
 
   notebook = gtk_notebook_new();
   gtk_widget_show(notebook);
@@ -1379,17 +1385,6 @@
 
   gtk_widget_show(notebook);
 
-  hbox = gtk_hbox_new(FALSE, 0);
-  gtk_widget_show(hbox);
-  gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 5);
-
-  button = gtk_button_new_with_label("OK");
-  gtk_widget_show(button);
-  gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0);
-  gtk_signal_connect_object(GTK_OBJECT(button), "clicked",
-                            GTK_SIGNAL_FUNC(gtk_widget_destroy),
-                            (gpointer) helpDialog);
-
   return(helpDialog);
 }
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list