Wireshark-dev: Re: [Wireshark-dev] [Wireshark-commits] rev 38772: /trunk/gtk/ /trunk/gtk/: main
From: Joerg Mayer <jmayer@xxxxxxxxx>
Date: Mon, 29 Aug 2011 15:42:25 +0200
and the patch I forgot to attach.... -- Joerg Mayer <jmayer@xxxxxxxxx> We are stuck with technology when what we really want is just stuff that works. Some say that should read Microsoft instead of technology.
Index: print.c =================================================================== --- print.c (revision 38773) +++ print.c (working copy) @@ -254,7 +254,7 @@ fputs("<?xml version=\"1.0\"?>\n", fh); fputs("<?xml-stylesheet type=\"text/xsl\" href=\"" PDML2HTML_XSL "\"?>\n", fh); - fprintf(fh, "<!-- You can find " PDML2HTML_XSL " in %s or at http://anonsvn.wireshark.org/trunk/wireshark/" PDML2HTML_XSL ". -->\n", get_datafile_dir()); + fprintf(fh, "<!-- You can find " PDML2HTML_XSL " in %s or at http://anonsvn.wireshark.org/trunk/wireshark/" PDML2HTML_XSL ". -->\n", get_datafile_dir(NULL)); fputs("<pdml version=\"" PDML_VERSION "\" ", fh); fprintf(fh, "creator=\"%s/%s\" time=\"%s\" capture_file=\"%s\">\n", PACKAGE, VERSION, ts, filename ? filename : ""); } Index: gtk/main_menubar.c =================================================================== --- gtk/main_menubar.c (revision 38773) +++ gtk/main_menubar.c (working copy) @@ -948,6 +948,7 @@ topic_menu_cb( NULL/* widget_U_ */, NULL /*GdkEventButton *event _U_*/, GINT_TO_POINTER(ONLINEPAGE_SAMPLE_FILES)); } +#ifndef NEW_MENU_CODE static const char *ui_desc_menubar = "<ui>\n" " <menubar name ='Menubar'>\n" @@ -1329,6 +1330,7 @@ " </menu>\n" " </menubar>\n" "</ui>\n"; +#endif /* @@ -2827,6 +2829,7 @@ }; +#ifndef NEW_MENU_CODE static const char *ui_desc_tree_view_menu_popup = "<ui>\n" " <popup name='TreeViewPopup' action='PopupAction'>\n" @@ -2898,6 +2901,7 @@ " <menuitem name='GotoCorrespondingPacket' action='/GotoCorrespondingPacket'/>\n" " </popup>\n" "</ui>\n"; +#endif static const GtkActionEntry tree_view_menu_popup_action_entries[] = { { "/ExpandSubtrees", NULL, "Expand Subtrees", NULL, NULL, G_CALLBACK(expand_tree_cb) }, @@ -2965,6 +2969,7 @@ { "/GotoCorrespondingPacket", NULL, "_Go to Corresponding Packet", NULL, NULL, G_CALLBACK(goto_framenum_cb) }, }; +#ifndef NEW_MENU_CODE static const char *ui_desc_bytes_menu_popup = "<ui>\n" " <popup name='BytesMenuPopup' action='PopupAction'>\n" @@ -2972,6 +2977,8 @@ " <menuitem name='BitsView' action='/BitsView'/>\n" " </popup>\n" "</ui>\n"; +#endif + static const GtkRadioActionEntry bytes_menu_radio_action_entries [] = { /* name, stock id, label, accel, tooltip, value */ @@ -3212,7 +3219,9 @@ *statusbar_profiles_action_group; GError *error = NULL; guint merge_id; - /*char *gui_desc_file_name;*/ +#ifdef NEW_MENU_CODE + char *gui_desc_file_name; +#endif if (initialize) { initialize = FALSE; @@ -3293,10 +3302,12 @@ gtk_ui_manager_insert_action_group (ui_manager_tree_view_menu, packet_list_details_action_group, 0); /* the position at which the group will be inserted. */ - +#ifndef NEW_MENU_CODE gtk_ui_manager_add_ui_from_string (ui_manager_tree_view_menu, ui_desc_tree_view_menu_popup, -1, &error); - /*gui_desc_file_name = g_strdup_printf("%s" G_DIR_SEPARATOR_S "ui" G_DIR_SEPARATOR_S "tree-view-ui.xml", get_datafile_dir()); - gtk_ui_manager_add_ui_from_file ( ui_manager_tree_view_menu, gui_desc_file_name, &error);*/ +#else + gui_desc_file_name = g_strdup_printf("%s" G_DIR_SEPARATOR_S "ui" G_DIR_SEPARATOR_S "tree-view-ui.xml", get_datafile_dir("gtk")); + gtk_ui_manager_add_ui_from_file ( ui_manager_tree_view_menu, gui_desc_file_name, &error); +#endif if (error != NULL) { fprintf (stderr, "Warning: building TreeWiew Pop-Up menu failed: %s\n", @@ -3304,7 +3315,9 @@ g_error_free (error); error = NULL; } - /*g_free (gui_desc_file_name);*/ +#ifdef NEW_MENU_CODE + g_free (gui_desc_file_name); +#endif g_object_set_data(G_OBJECT(popup_menu_object), PM_TREE_VIEW_KEY, gtk_ui_manager_get_widget(ui_manager_tree_view_menu, "/TreeViewPopup")); @@ -3331,10 +3344,12 @@ gtk_ui_manager_insert_action_group (ui_manager_bytes_menu, packet_list_byte_menu_action_group, 0); /* the position at which the group will be inserted. */ - +#ifndef NEW_MENU_CODE gtk_ui_manager_add_ui_from_string (ui_manager_bytes_menu, ui_desc_bytes_menu_popup, -1, &error); - /*gui_desc_file_name = g_strdup_printf("%s" G_DIR_SEPARATOR_S "ui" G_DIR_SEPARATOR_S "bytes-view-ui.xml", get_datafile_dir()); - gtk_ui_manager_add_ui_from_file ( ui_manager_bytes_menu, gui_desc_file_name, &error);*/ +#else + gui_desc_file_name = g_strdup_printf("%s" G_DIR_SEPARATOR_S "ui" G_DIR_SEPARATOR_S "bytes-view-ui.xml", get_datafile_dir("gtk")); + gtk_ui_manager_add_ui_from_file ( ui_manager_bytes_menu, gui_desc_file_name, &error); +#endif if (error != NULL) { fprintf (stderr, "Warning: building Bytes Pop-Up menu failed: %s\n", @@ -3342,8 +3357,9 @@ g_error_free (error); error = NULL; } - /*g_free (gui_desc_file_name);*/ - +#ifdef NEW_MENU_CODE + g_free (gui_desc_file_name); +#endif g_object_unref(packet_list_byte_menu_action_group); g_object_set_data(G_OBJECT(popup_menu_object), PM_BYTES_VIEW_KEY, @@ -3381,10 +3397,12 @@ ui_manager_main_menubar = gtk_ui_manager_new (); gtk_ui_manager_insert_action_group (ui_manager_main_menubar, main_menu_bar_action_group, 0); +#ifndef NEW_MENU_CODE gtk_ui_manager_add_ui_from_string (ui_manager_main_menubar,ui_desc_menubar, -1, &error); - /*gui_desc_file_name = g_strdup_printf("%s" G_DIR_SEPARATOR_S "ui" G_DIR_SEPARATOR_S "main-menubar-ui.xml", get_datafile_dir()); - gtk_ui_manager_add_ui_from_file ( ui_manager_main_menubar, gui_desc_file_name, &error);*/ - +#else + gui_desc_file_name = g_strdup_printf("%s" G_DIR_SEPARATOR_S "ui" G_DIR_SEPARATOR_S "main-menubar-ui.xml", get_datafile_dir("gtk")); + gtk_ui_manager_add_ui_from_file ( ui_manager_main_menubar, gui_desc_file_name, &error); +#endif if (error != NULL) { fprintf (stderr, "Warning: building main menubar failed: %s\n", @@ -3392,7 +3410,9 @@ g_error_free (error); error = NULL; } - /*g_free (gui_desc_file_name);*/ +#ifdef NEW_MENU_CODE + g_free (gui_desc_file_name); +#endif g_object_unref(main_menu_bar_action_group); gtk_window_add_accel_group (GTK_WINDOW(top_level), gtk_ui_manager_get_accel_group(ui_manager_main_menubar)); Index: gtk/about_dlg.c =================================================================== --- gtk/about_dlg.c (revision 38773) +++ gtk/about_dlg.c (working copy) @@ -403,7 +403,7 @@ g_free(path); /* global conf */ - constpath = get_datafile_dir(); + constpath = get_datafile_dir(NULL); if (constpath != NULL) { about_folders_row(table, "Global configuration", constpath, "\"dfilters\", \"preferences\", \"manuf\", ..."); Index: gtk/webbrowser.c =================================================================== --- gtk/webbrowser.c (revision 38773) +++ gtk/webbrowser.c (working copy) @@ -505,7 +505,7 @@ #endif else - file_path = g_strdup_printf("%s/%s", get_datafile_dir(), filename); + file_path = g_strdup_printf("%s/%s", get_datafile_dir(NULL), filename); /* XXX - check, if the file is really existing, otherwise display a simple_dialog about the problem */ Index: plugins/mate/mate_setup.c =================================================================== --- plugins/mate/mate_setup.c (revision 38773) +++ plugins/mate/mate_setup.c (working copy) @@ -584,7 +584,7 @@ matecfg->dbg_facility = NULL; - matecfg->mate_lib_path = g_strdup_printf("%s%c%s%c",get_datafile_dir(),DIR_SEP,DEFAULT_MATE_LIB_PATH,DIR_SEP);; + matecfg->mate_lib_path = g_strdup_printf("%s%c%s%c",get_datafile_dir(NULL),DIR_SEP,DEFAULT_MATE_LIB_PATH,DIR_SEP);; matecfg->pducfgs = g_hash_table_new(g_str_hash,g_str_equal); matecfg->gopcfgs = g_hash_table_new(g_str_hash,g_str_equal); Index: plugins/wimaxasncp/packet-wimaxasncp.c =================================================================== --- plugins/wimaxasncp/packet-wimaxasncp.c (revision 38773) +++ plugins/wimaxasncp/packet-wimaxasncp.c (working copy) @@ -3298,7 +3298,7 @@ dir = ep_strdup_printf( "%s" G_DIR_SEPARATOR_S "wimaxasncp", - get_datafile_dir()); + get_datafile_dir(NULL)); wimaxasncp_dict = wimaxasncp_dict_scan(dir, "dictionary.xml", debug_parser, &dict_error); Index: epan/dissectors/packet-diameter.c =================================================================== --- epan/dissectors/packet-diameter.c (revision 38773) +++ epan/dissectors/packet-diameter.c (working copy) @@ -1365,7 +1365,7 @@ ddict_avp_t* a; gboolean do_debug_parser = getenv("WIRESHARK_DEBUG_DIAM_DICT_PARSER") ? TRUE : FALSE; gboolean do_dump_dict = getenv("WIRESHARK_DUMP_DIAM_DICT") ? TRUE : FALSE; - char* dir = ep_strdup_printf("%s" G_DIR_SEPARATOR_S "diameter" G_DIR_SEPARATOR_S, get_datafile_dir()); + char* dir = ep_strdup_printf("%s" G_DIR_SEPARATOR_S "diameter" G_DIR_SEPARATOR_S, get_datafile_dir(NULL)); const avp_type_t* type; const avp_type_t* octetstring = &basic_types[0]; diam_avp_t* avp; Index: epan/dissectors/packet-tpncp.c =================================================================== --- epan/dissectors/packet-tpncp.c (revision 38773) +++ epan/dissectors/packet-tpncp.c (working copy) @@ -689,7 +689,7 @@ gchar *tpncp_dat_file_path; FILE *file; - tpncp_dat_file_path = ep_strdup_printf("%s" G_DIR_SEPARATOR_S"tpncp" G_DIR_SEPARATOR_S "tpncp.dat", get_datafile_dir()); + tpncp_dat_file_path = ep_strdup_printf("%s" G_DIR_SEPARATOR_S"tpncp" G_DIR_SEPARATOR_S "tpncp.dat", get_datafile_dir(NULL)); /* Open file with TPNCP data. */ if ((file = ws_fopen(tpncp_dat_file_path, "r")) == NULL) Index: epan/filesystem.c =================================================================== --- epan/filesystem.c (revision 38773) +++ epan/filesystem.c (working copy) @@ -575,16 +575,13 @@ * example). */ const char * -get_datafile_dir(void) +get_datafile_dir(const char *fallback_path) { #ifdef _WIN32 char *u3deviceexecpath; #endif static const char *datafile_dir = NULL; - if (datafile_dir != NULL) - return datafile_dir; - #ifdef _WIN32 /* * See if we are running in a U3 environment. @@ -629,7 +626,11 @@ * able to determine the directory in which the program * was found, so use that. */ - datafile_dir = progfile_dir; + if (fallback_path != NULL && getenv("WIRESHARK_SRC_DIR")) { + datafile_dir = g_strdup_printf("%s%s%s", getenv("WIRESHARK_SRC_DIR"), G_DIR_SEPARATOR_S, fallback_path); + } else { + datafile_dir = progfile_dir; + } } else { /* * Return the directory specified when the build was @@ -684,7 +685,7 @@ * on Windows, the data file directory is the directory * in which the Wireshark binary resides. */ - wspython_dir = g_strdup_printf("%s\\python\\%s", get_datafile_dir(), + wspython_dir = g_strdup_printf("%s\\python\\%s", get_datafile_dir(NULL), VERSION); /* @@ -705,7 +706,7 @@ * directory for python dissectors. */ g_free( (gpointer) wspython_dir); - wspython_dir = g_strdup_printf("%s\\python", get_datafile_dir()); + wspython_dir = g_strdup_printf("%s\\python", get_datafile_dir(NULL)); running_in_build_directory_flag = TRUE; } #else @@ -716,7 +717,7 @@ * the "python" subdirectory of the datafile directory * (the datafile directory is the build directory). */ - wspython_dir = g_strdup_printf("%s/epan/wspython/", get_datafile_dir()); + wspython_dir = g_strdup_printf("%s/epan/wspython/", get_datafile_dir(NULL)); } else { if (getenv("WIRESHARK_PYTHON_DIR") && !started_with_special_privs()) { /* @@ -780,7 +781,7 @@ * on Windows, the data file directory is the directory * in which the Wireshark binary resides. */ - plugin_dir = g_strdup_printf("%s\\plugins\\%s", get_datafile_dir(), + plugin_dir = g_strdup_printf("%s\\plugins\\%s", get_datafile_dir(NULL), VERSION); /* @@ -801,7 +802,7 @@ * directory for plugins. */ g_free( (gpointer) plugin_dir); - plugin_dir = g_strdup_printf("%s\\plugins", get_datafile_dir()); + plugin_dir = g_strdup_printf("%s\\plugins", get_datafile_dir(NULL)); running_in_build_directory_flag = TRUE; } #else @@ -812,7 +813,7 @@ * the "plugins" subdirectory of the datafile directory * (the datafile directory is the build directory). */ - plugin_dir = g_strdup_printf("%s/plugins", get_datafile_dir()); + plugin_dir = g_strdup_printf("%s/plugins", get_datafile_dir(NULL)); } else { if (getenv("WIRESHARK_PLUGIN_DIR") && !started_with_special_privs()) { /* @@ -862,7 +863,7 @@ get_systemfile_dir(void) { #ifdef _WIN32 - return get_datafile_dir(); + return get_datafile_dir(NULL); #else return "/etc"; #endif @@ -1061,7 +1062,7 @@ static char *global_profiles_dir = NULL; if (!global_profiles_dir) { - global_profiles_dir = g_strdup_printf ("%s%s%s", get_datafile_dir(), + global_profiles_dir = g_strdup_printf ("%s%s%s", get_datafile_dir(NULL), G_DIR_SEPARATOR_S, PROFILES_DIR); } @@ -1560,7 +1561,7 @@ get_datafile_path(const char *filename) { - return g_strdup_printf("%s" G_DIR_SEPARATOR_S "%s", get_datafile_dir(), filename); + return g_strdup_printf("%s" G_DIR_SEPARATOR_S "%s", get_datafile_dir(NULL), filename); } /* Get the personal plugin dir */ Index: epan/filesystem.h =================================================================== --- epan/filesystem.h (revision 38773) +++ epan/filesystem.h (working copy) @@ -71,7 +71,7 @@ * Get the directory in which global configuration files are * stored. */ -extern const char *get_datafile_dir(void); +extern const char *get_datafile_dir(const char *); /* * Construct the path name of a global configuration file, given the
- References:
- Prev by Date: Re: [Wireshark-dev] [Wireshark-commits] rev 38772: /trunk/gtk/ /trunk/gtk/: main_menubar.c
- Next by Date: Re: [Wireshark-dev] [Wireshark-commits] rev 38772: /trunk/gtk/ /trunk/gtk/: main_menubar.c
- Previous by thread: Re: [Wireshark-dev] [Wireshark-commits] rev 38772: /trunk/gtk/ /trunk/gtk/: main_menubar.c
- Next by thread: [Wireshark-dev] RFC: Add fallback path to get_datafile_dir
- Index(es):