diff options
author | Guy Harris <guy@alum.mit.edu> | 2003-03-01 10:18:54 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2003-03-01 10:18:54 +0000 |
commit | cc90efa654b5bec81d4e0c8a3ea473ba28837b94 (patch) | |
tree | 63bf6ff794991833bd13ccba8a74ddad6371fbe7 /gtk/main.c | |
parent | cec47aeb6ba929732bde0a51b07d87ad5ebbc83d (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.c | 24 |
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; + } + } } } } |