Text   |  XML   |  ReML   |   Visible Warnings:

Unreachable Computation  at simple_dialog.c:221

No properties have been set. | edit properties
Jump to warning location ↓ warning details...
Show Events | Options

display_simple_dialog

(/home/sate/Testcases/c/cve/wireshark-1.2.0/gtk/simple_dialog.c)expand/collapse
Show more  
 65  static GtkWidget *
 66  display_simple_dialog(gint type, gint btn_mask, char *message)
 67  {
 68    GtkWidget   *win, *main_vb, *top_hb, *msg_vb, *type_pm, *msg_label, *ask_cb,
 69                *bbox, *ok_bt, *yes_bt, *bt, *save_bt, *dont_save_bt;
 70    GdkPixmap   *pixmap;
 71    GdkBitmap   *mask;
 72    GtkStyle    *style;
 73    GdkColormap *cmap;
 74    const gchar **icon;
 75   
 76    /* Main window */
 77    switch (type) {
 78    case ESD_TYPE_WARN :
 79      icon = stock_dialog_warning_48_xpm;
 80      break;
 81    case ESD_TYPE_CONFIRMATION:
 82      icon = stock_dialog_warning_48_xpm;
 83      break;
 84    case ESD_TYPE_ERROR:
 85      icon = stock_dialog_error_48_xpm;
 86      break;
 87    case ESD_TYPE_STOP :
 88      icon = stock_dialog_stop_48_xpm;
 89      break;
 90    case ESD_TYPE_INFO :
 91    default :
 92      icon = stock_dialog_info_48_xpm;
 93      break;
 94    }
 95   
 96    /*
 97     * The GNOME HIG:
 98     *
 99     *    http://developer.gnome.org/projects/gup/hig/1.0/windows.html#alert-windows
 100     *
 101     * says that the title should be empty for alert boxes, so there's "less
 102     * visual noise and confounding text."
 103     *
 104
119
Show [ Lines 104 to 119 omitted. ]
 120     * know that it couldn't fetch something because of a timeout).
 121     *
 122     * It also says not to use "warning" or "caution", as there's already 
 123     * an icon that tells you what type of alert it is, and that you 
 124     * shouldn't say "error", as that provides no useful information.
 125     *
 126     * So we give it a title on Win32, and don't give it one on UN*X.
 127     * For now, we give it a Win32 title of just "Wireshark"; we should
 128     * arguably take an argument for the title.
 129     */
 130    if(btn_mask == ESD_BTN_NONE) {
 131          win = splash_window_new();
 132    } else {
 133  #ifdef _WIN32 
 134      win = dlg_window_new("Wireshark");
 135  #else
 136      win = dlg_window_new("");
 137  #endif
 138    }
 139   
 140    gtk_window_set_modal(GTK_WINDOW(win), TRUE);
 141    gtk_container_set_border_width(GTK_CONTAINER(win), 6);
 142   
 143    /* Container for our rows */
 144    main_vb = gtk_vbox_new(FALSE, 12);
 145    gtk_container_add(GTK_CONTAINER(win), main_vb);
 146    gtk_widget_show(main_vb);
 147   
 148    /* Top row: Icon and message text */
 149    top_hb = gtk_hbox_new(FALSE, 12);
 150    gtk_container_set_border_width(GTK_CONTAINER(main_vb), 6);
 151    gtk_container_add(GTK_CONTAINER(main_vb), top_hb);
 152    gtk_widget_show(top_hb);
 153   
 154    /* icon */
 155    style = gtk_widget_get_style(win);
 156    cmap  = gdk_colormap_get_system();
 157    pixmap = gdk_pixmap_colormap_create_from_xpm_d(NULL, cmap,  &mask,
 158      &style->bg[GTK_STATE_NORMAL], (gchar **) icon);
 159    type_pm = gtk_pixmap_new(pixmap, mask);
 160    gtk_misc_set_alignment (GTK_MISC (type_pm), 0.5f, 0.0f);
 161    gtk_container_add(GTK_CONTAINER(top_hb), type_pm);
 162    gtk_widget_show(type_pm);
 163   
 164    /* column for message and optional check button */
 165    msg_vb = gtk_vbox_new(FALSE, 6);
 166    gtk_box_set_spacing(GTK_BOX(msg_vb), 24);
 167    gtk_container_add(GTK_CONTAINER(top_hb), msg_vb);
 168    gtk_widget_show(msg_vb);
 169   
 170    /* message */
 171    msg_label = gtk_label_new(message);
 172   
 173    gtk_label_set_markup(GTK_LABEL(msg_label), message);
 174    gtk_label_set_selectable(GTK_LABEL(msg_label), TRUE);
 175  #if GTK_CHECK_VERSION(2,9,0)
 176    g_object_set(gtk_widget_get_settings(msg_label),
 177      "gtk-label-select-on-focus", FALSE, NULL);
 178  #endif
 179   
 180    gtk_label_set_justify(GTK_LABEL(msg_label), GTK_JUSTIFY_FILL);
 181    gtk_misc_set_alignment (GTK_MISC (type_pm), 0.5f, 0.0f);
 182    gtk_container_add(GTK_CONTAINER(msg_vb), msg_label);
 183    gtk_label_set_line_wrap(GTK_LABEL(msg_label), TRUE);
 184    gtk_widget_show(msg_label);
 185   
 186    if(btn_mask == ESD_BTN_NONE) {
 187          gtk_widget_show(win);
 188          return win;
 189    }
 190   
 191    /* optional check button */
 192    ask_cb = gtk_check_button_new_with_label("replace with text...");
 193    gtk_container_add(GTK_CONTAINER(msg_vb), ask_cb);
 194    g_object_set_data(G_OBJECT(win), CHECK_BUTTON, ask_cb);
 195   
 196    /* Button row */
 197    switch(btn_mask) {
 198    case(ESD_BTN_OK):
 199      bbox = dlg_button_row_new(GTK_STOCK_OK, NULL);
 200      break;
 201    case(ESD_BTN_OK | ESD_BTN_CANCEL):
 202      bbox = dlg_button_row_new(GTK_STOCK_OK, GTK_STOCK_CANCEL, NULL);
 203      break;
 204    case(ESD_BTN_CLEAR | ESD_BTN_CANCEL):
 205      bbox = dlg_button_row_new(GTK_STOCK_CLEAR, GTK_STOCK_CANCEL, NULL);
 206      break;
 207    case(ESD_BTNS_YES_NO_CANCEL):
 208      bbox = dlg_button_row_new(GTK_STOCK_YES, GTK_STOCK_NO, GTK_STOCK_CANCEL, NULL);
 209      break;
 210    case(ESD_BTNS_SAVE_DONTSAVE_CANCEL):
 211      bbox = dlg_button_row_new(GTK_STOCK_SAVE, WIRESHARK_STOCK_DONT_SAVE, GTK_STOCK_CANCEL, NULL);
 212      break;
 213    case(ESD_BTNS_SAVE_QUIT_DONTSAVE_CANCEL):
 214      bbox = dlg_button_row_new(GTK_STOCK_SAVE, WIRESHARK_STOCK_QUIT_DONT_SAVE, GTK_STOCK_CANCEL, NULL);
 215      break;
 216    case(ESD_BTNS_YES_NO):
 217      bbox = dlg_button_row_new(GTK_STOCK_YES, GTK_STOCK_NO, NULL);
 218      break;
 219    default:
 220      g_assert_not_reached();
 221      bbox = NULL;
 222      break;
 223    }
 224    gtk_container_add(GTK_CONTAINER(main_vb), bbox);
 225    gtk_widget_show(bbox);
 226   
 227    ok_bt = g_object_get_data(G_OBJECT(bbox), GTK_STOCK_OK);
 228    if(ok_bt) {
 229        g_object_set_data(G_OBJECT(ok_bt), CALLBACK_BTN_KEY, GINT_TO_POINTER(ESD_BTN_OK));
 230        g_signal_connect(ok_bt, "clicked", G_CALLBACK(simple_dialog_cancel_cb), win);
 231    }
 232   
 233    save_bt = g_object_get_data(G_OBJECT(bbox), GTK_STOCK_SAVE);
 234    if (save_bt) {
 235        g_object_set_data(G_OBJECT(save_bt), CALLBACK_BTN_KEY, GINT_TO_POINTER(ESD_BTN_SAVE));
 236        g_signal_connect(save_bt, "clicked", G_CALLBACK(simple_dialog_cancel_cb), win);
 237    }
 238   
 239    dont_save_bt = g_object_get_data(G_OBJECT(bbox), WIRESHARK_STOCK_DONT_SAVE);
 240    if (dont_save_bt) {
 241        g_object_set_data(G_OBJECT(dont_save_bt), CALLBACK_BTN_KEY, GINT_TO_POINTER(ESD_BTN_DONT_SAVE));
 242        g_signal_connect(dont_save_bt, "clicked", G_CALLBACK(simple_dialog_cancel_cb), win);
 243    }
 244     
 245    dont_save_bt = g_object_get_data(G_OBJECT(bbox), WIRESHARK_STOCK_QUIT_DONT_SAVE);
 246    if (dont_save_bt) {
 247        g_object_set_data(G_OBJECT(dont_save_bt), CALLBACK_BTN_KEY, GINT_TO_POINTER(ESD_BTN_QUIT_DONT_SAVE));
 248        g_signal_connect(dont_save_bt, "clicked", G_CALLBACK(simple_dialog_cancel_cb), win);
 249    }
 250    bt = g_object_get_data(G_OBJECT(bbox), GTK_STOCK_CLEAR);
 251    if(bt) {
 252        g_object_set_data(G_OBJECT(bt), CALLBACK_BTN_KEY, GINT_TO_POINTER(ESD_BTN_CLEAR));
 253        g_signal_connect(bt, "clicked", G_CALLBACK(simple_dialog_cancel_cb), win);
 254    }
 255   
 256    yes_bt = g_object_get_data(G_OBJECT(bbox), GTK_STOCK_YES);
 257    if(yes_bt) {
 258        g_object_set_data(G_OBJECT(yes_bt), CALLBACK_BTN_KEY, GINT_TO_POINTER(ESD_BTN_YES));
 259        g_signal_connect(yes_bt, "clicked", G_CALLBACK(simple_dialog_cancel_cb), win);
 260    }
 261   
 262    bt = g_object_get_data(G_OBJECT(bbox), GTK_STOCK_NO);
 263    if(bt) {
 264        g_object_set_data(G_OBJECT(bt), CALLBACK_BTN_KEY, GINT_TO_POINTER(ESD_BTN_NO));
 265        g_signal_connect(bt, "clicked", G_CALLBACK(simple_dialog_cancel_cb), win);
 266    }
 267   
 268    bt = g_object_get_data(G_OBJECT(bbox), GTK_STOCK_CANCEL);
 269    if(bt) {
 270        g_object_set_data(G_OBJECT(bt), CALLBACK_BTN_KEY, GINT_TO_POINTER(ESD_BTN_CANCEL));
 271        window_set_cancel_button(win, bt, simple_dialog_cancel_cb);
 272    }
 273   
 274    if(!bt) {
 275        if(yes_bt) {
 276            window_set_cancel_button(win, yes_bt, simple_dialog_cancel_cb);
 277        } else {
 278            window_set_cancel_button(win, ok_bt, simple_dialog_cancel_cb);
 279        }
 280    }
 281   
 282    dlg_button_focus_nth(bbox, 0);
 283   
 284    gtk_widget_show(win);
 285   
 286    return win;
 287  }
Show more  




Change Warning 3941.29901 : Unreachable Computation

Priority:
State:
Finding:
Owner:
Note: