aboutsummaryrefslogtreecommitdiffstats
path: root/gtk/main.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2003-03-01 10:18:54 +0000
committerGuy Harris <guy@alum.mit.edu>2003-03-01 10:18:54 +0000
commitcc90efa654b5bec81d4e0c8a3ea473ba28837b94 (patch)
tree63bf6ff794991833bd13ccba8a74ddad6371fbe7 /gtk/main.c
parentcec47aeb6ba929732bde0a51b07d87ad5ebbc83d (diff)
The correct way to go to a frame with a given number is to use
"goto_frame()", not to assume that all frames are being displayed and to go to the row whose number is the frame number - 1. svn path=/trunk/; revision=7242
Diffstat (limited to 'gtk/main.c')
-rw-r--r--gtk/main.c24
1 files changed, 20 insertions, 4 deletions
diff --git a/gtk/main.c b/gtk/main.c
index 52e602e344..fa594a5bd0 100644
--- a/gtk/main.c
+++ b/gtk/main.c
@@ -1,6 +1,6 @@
/* main.c
*
- * $Id: main.c,v 1.281 2003/02/17 07:50:49 oabad Exp $
+ * $Id: main.c,v 1.282 2003/03/01 10:18:54 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -230,9 +230,25 @@ goto_framenum_cb(GtkWidget *w _U_, gpointer data _U_)
hfinfo = finfo_selected->hfinfo;
g_assert(hfinfo);
if (hfinfo->type == FT_FRAMENUM) {
- framenum = fvalue_get_integer(finfo_selected->value);
- if (framenum != 0)
- packet_list_set_selected_row(framenum - 1);
+ framenum = fvalue_get_integer(finfo_selected->value);
+ if (framenum != 0) {
+ switch (goto_frame(&cfile, framenum)) {
+
+ case NO_SUCH_FRAME:
+ simple_dialog(ESD_TYPE_CRIT, NULL,
+ "There is no frame with that frame number.");
+ break;
+
+ case FRAME_NOT_DISPLAYED:
+ /* XXX - add it to the display filter? */
+ simple_dialog(ESD_TYPE_CRIT, NULL,
+ "The frame with that frame number is not currently being displayed.");
+ return;
+
+ case FOUND_FRAME:
+ break;
+ }
+ }
}
}
}