diff options
author | Marco Pesenti Gritti <marco@it.gnome.org> | 2003-01-12 21:18:44 +0800 |
---|---|---|
committer | Marco Pesenti Gritti <mpeseng@src.gnome.org> | 2003-01-12 21:18:44 +0800 |
commit | 54df3f0ea343005402ab02ab90b137783d0bdd72 (patch) | |
tree | fdbddbbac7f6baca4e48abc6015a2d3b01e4dcb7 | |
parent | ec474aa2c989710ab13aafaca9405f767f759b63 (diff) | |
download | gsoc2013-epiphany-54df3f0ea343005402ab02ab90b137783d0bdd72.tar gsoc2013-epiphany-54df3f0ea343005402ab02ab90b137783d0bdd72.tar.gz gsoc2013-epiphany-54df3f0ea343005402ab02ab90b137783d0bdd72.tar.bz2 gsoc2013-epiphany-54df3f0ea343005402ab02ab90b137783d0bdd72.tar.lz gsoc2013-epiphany-54df3f0ea343005402ab02ab90b137783d0bdd72.tar.xz gsoc2013-epiphany-54df3f0ea343005402ab02ab90b137783d0bdd72.tar.zst gsoc2013-epiphany-54df3f0ea343005402ab02ab90b137783d0bdd72.zip |
2003-01-12 Marco Pesenti Gritti <marco@it.gnome.org>
* configure.in:
* doc/debugging.txt:
* embed/ephy-embed-utils.c:
(ephy_embed_utils_build_charsets_submenu):
* embed/ephy-favicon-cache.c: (ephy_favicon_cache_init):
* embed/ephy-history.c: (ephy_history_save):
* embed/mozilla/mozilla-embed.cpp:
* lib/ephy-autocompletion.c: (ephy_autocompletion_reset),
(ephy_autocompletion_get_common_prefix),
(ephy_autocompletion_refine_matches),
(ephy_autocompletion_update_matches_full),
(ephy_autocompletion_sort_by_score),
(ephy_autocompletion_data_changed_cb), (acma_grow):
* lib/ephy-debug.c: (log_module), (ephy_debug_init),
(ephy_profiler_new), (ephy_should_profile), (ephy_profiler_dump),
(ephy_profiler_free), (ephy_profiler_start), (ephy_profiler_stop):
* lib/ephy-debug.h:
* lib/ephy-filesystem-autocompletion.c:
(ephy_filesystem_autocompletion_finalize_impl),
(gfa_load_directory_cb),
(ephy_filesystem_autocompletion_set_current_dir),
(ephy_filesystem_autocompletion_set_base_dir):
* lib/ephy-start-here.c:
* lib/widgets/ephy-autocompletion-window.c:
(ephy_autocompletion_window_get_dimensions),
(ephy_autocompletion_window_fill_store_chunk),
(ephy_autocompletion_window_show),
(ephy_autocompletion_window_key_press_cb):
* lib/widgets/ephy-location-entry.c:
(ephy_location_entry_finalize_impl),
(ephy_location_entry_autocompletion_show_alternatives_to),
(ephy_location_entry_autocompletion_to),
(ephy_location_entry_activate_cb),
(ephy_location_entry_autocompletion_sources_changed_cb),
(ephy_location_entry_autocompletion_window_url_activated_cb),
(ephy_location_entry_autocompletion_window_hidden_cb):
* src/bookmarks/ephy-bookmarks-editor.c:
* src/bookmarks/ephy-bookmarks.c:
(ephy_bookmarks_clean_empty_keywords), (ephy_bookmarks_save),
(ephy_bookmarks_find_keyword), (diff_keywords):
* src/bookmarks/ephy-keywords-entry.c: (try_to_expand_keyword):
* src/bookmarks/ephy-new-bookmark.c: (ephy_new_bookmark_set_title):
* src/ephy-favorites-menu.c: (ephy_favorites_menu_rebuild):
* src/ephy-nautilus-view.c: (gnv_cmd_set_charset), (if):
* src/ephy-navigation-button.c:
(ephy_navigation_button_finalize_impl):
* src/ephy-shell.c: (ephy_shell_finalize):
* src/ephy-tab.c: (ephy_tab_embed_destroy_cb), (ephy_tab_finalize):
-rw-r--r-- | ChangeLog | 60 | ||||
-rw-r--r-- | configure.in | 1 | ||||
-rw-r--r-- | doc/debugging.txt | 35 | ||||
-rw-r--r-- | embed/ephy-embed-utils.c | 21 | ||||
-rw-r--r-- | embed/ephy-favicon-cache.c | 6 | ||||
-rw-r--r-- | embed/ephy-history.c | 6 | ||||
-rw-r--r-- | embed/mozilla/mozilla-embed.cpp | 7 | ||||
-rw-r--r-- | lib/ephy-autocompletion.c | 93 | ||||
-rw-r--r-- | lib/ephy-debug.c | 162 | ||||
-rw-r--r-- | lib/ephy-debug.h | 44 | ||||
-rw-r--r-- | lib/ephy-filesystem-autocompletion.c | 20 | ||||
-rw-r--r-- | lib/ephy-start-here.c | 3 | ||||
-rw-r--r-- | lib/widgets/ephy-autocompletion-window.c | 70 | ||||
-rw-r--r-- | lib/widgets/ephy-location-entry.c | 28 | ||||
-rw-r--r-- | src/bookmarks/ephy-bookmarks-editor.c | 3 | ||||
-rw-r--r-- | src/bookmarks/ephy-bookmarks.c | 19 | ||||
-rw-r--r-- | src/bookmarks/ephy-keywords-entry.c | 14 | ||||
-rw-r--r-- | src/bookmarks/ephy-new-bookmark.c | 6 | ||||
-rw-r--r-- | src/ephy-favorites-menu.c | 9 | ||||
-rw-r--r-- | src/ephy-nautilus-view.c | 29 | ||||
-rw-r--r-- | src/ephy-navigation-button.c | 10 | ||||
-rw-r--r-- | src/ephy-shell.c | 8 | ||||
-rw-r--r-- | src/ephy-tab.c | 14 | ||||
-rw-r--r-- | src/ephy-tbi.c | 10 | ||||
-rw-r--r-- | src/ephy-window.c | 5 | ||||
-rwxr-xr-x | src/toolbar.c | 17 |
26 files changed, 409 insertions, 291 deletions
@@ -1,3 +1,63 @@ +2003-01-12 Marco Pesenti Gritti <marco@it.gnome.org> + + * configure.in: + * doc/debugging.txt: + * embed/ephy-embed-utils.c: + (ephy_embed_utils_build_charsets_submenu): + * embed/ephy-favicon-cache.c: (ephy_favicon_cache_init): + * embed/ephy-history.c: (ephy_history_save): + * embed/mozilla/mozilla-embed.cpp: + * lib/ephy-autocompletion.c: (ephy_autocompletion_reset), + (ephy_autocompletion_get_common_prefix), + (ephy_autocompletion_refine_matches), + (ephy_autocompletion_update_matches_full), + (ephy_autocompletion_sort_by_score), + (ephy_autocompletion_data_changed_cb), (acma_grow): + * lib/ephy-debug.c: (log_module), (ephy_debug_init), + (ephy_profiler_new), (ephy_should_profile), (ephy_profiler_dump), + (ephy_profiler_free), (ephy_profiler_start), (ephy_profiler_stop): + * lib/ephy-debug.h: + * lib/ephy-filesystem-autocompletion.c: + (ephy_filesystem_autocompletion_finalize_impl), + (gfa_load_directory_cb), + (ephy_filesystem_autocompletion_set_current_dir), + (ephy_filesystem_autocompletion_set_base_dir): + * lib/ephy-start-here.c: + * lib/widgets/ephy-autocompletion-window.c: + (ephy_autocompletion_window_get_dimensions), + (ephy_autocompletion_window_fill_store_chunk), + (ephy_autocompletion_window_show), + (ephy_autocompletion_window_key_press_cb): + * lib/widgets/ephy-location-entry.c: + (ephy_location_entry_finalize_impl), + (ephy_location_entry_autocompletion_show_alternatives_to), + (ephy_location_entry_autocompletion_to), + (ephy_location_entry_activate_cb), + (ephy_location_entry_autocompletion_sources_changed_cb), + (ephy_location_entry_autocompletion_window_url_activated_cb), + (ephy_location_entry_autocompletion_window_hidden_cb): + * src/bookmarks/ephy-bookmarks-editor.c: + * src/bookmarks/ephy-bookmarks.c: + (ephy_bookmarks_clean_empty_keywords), (ephy_bookmarks_save), + (ephy_bookmarks_find_keyword), (diff_keywords): + * src/bookmarks/ephy-keywords-entry.c: (try_to_expand_keyword): + * src/bookmarks/ephy-new-bookmark.c: (ephy_new_bookmark_set_title): + * src/ephy-favorites-menu.c: (ephy_favorites_menu_rebuild): + * src/ephy-nautilus-view.c: (gnv_cmd_set_charset), (if): + * src/ephy-navigation-button.c: + (ephy_navigation_button_finalize_impl): + * src/ephy-shell.c: (ephy_shell_finalize): + * src/ephy-tab.c: (ephy_tab_embed_destroy_cb), (ephy_tab_finalize): + * src/ephy-tbi.c: (ephy_tbi_finalize_impl): + * src/ephy-window.c: (ephy_window_finalize): + * src/toolbar.c: (toolbar_get_widgets): + + Implement profiler helpers. Complete ephy-debug + implementation and document it. + Fixup all the damned DEBUG_MSG mess. toolbar/ is + still borked since I'm not mantaining that code atm (just + keeping it updated with galeon). + 2003-01-12 Andras Timar <timar@gnome.hu> * configure.in: Added de, hu and nl to ALL_LINGUAS. diff --git a/configure.in b/configure.in index 89a42c323..16c04b95a 100644 --- a/configure.in +++ b/configure.in @@ -43,6 +43,7 @@ AC_HEADER_STDC AC_PROG_INTLTOOL AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal) +GNOME_DEBUG_CHECK GNOME_COMPILE_WARNINGS(error) dnl ****************************** diff --git a/doc/debugging.txt b/doc/debugging.txt new file mode 100644 index 000000000..f991c81e9 --- /dev/null +++ b/doc/debugging.txt @@ -0,0 +1,35 @@ +To enable debugging use the configure option --enable-debug. + +LOGGING +======= + +At execution time, you must enable the log service. To enable the +log service, set the environment variable: EPHY_LOG_MODULES +variable. + +EPHY_LOG_MODULES variable has the form: + + <moduleName>[:<moduleName>]* + +moduleName is a filename. +ex: export EPHY_LOG_MODULES=ephy-window.c:ephy-autocompletion.c +The special log module "all" enables all log modules. + +Use the LOG macro to put debug messages in the code. + +PROFILING +========= + +At execution time, you must enable the profiling service. To enable the +profiling service, set the environment variable: EPHY_PROFILING_MODULES +variable. + +EPHY_PROFILE_MODULES variable has the form: + + <moduleName>[:<moduleName>]* + +moduleName is a filename. +ex: export EPHY_PROFILE_MODULES=ephy-window.c:ephy-autocompletion.c +The special profiling module "all" enables all profiling modules. + +Use START_PROFILER STOP_PROFILER macros to profile pieces of code. diff --git a/embed/ephy-embed-utils.c b/embed/ephy-embed-utils.c index 69089daa4..373f4801f 100644 --- a/embed/ephy-embed-utils.c +++ b/embed/ephy-embed-utils.c @@ -21,6 +21,7 @@ #include "ephy-embed-shell.h" #include "ephy-bonobo-extensions.h" #include "ephy-gui.h" +#include "ephy-debug.h" #include <gtk/gtkdialog.h> #include <gtk/gtkmessagedialog.h> @@ -222,9 +223,9 @@ add_verbs (BonoboUIComponent *ui_component, **/ void ephy_embed_utils_build_charsets_submenu (BonoboUIComponent *ui_component, - const char *path, - BonoboUIVerbFn fn, - gpointer data) + const char *path, + BonoboUIVerbFn fn, + gpointer data) { GList *groups; GString *xml_string; @@ -232,13 +233,7 @@ ephy_embed_utils_build_charsets_submenu (BonoboUIComponent *ui_component, int group_index = 0; int charset_index = 0; -#ifdef DEBUG_MARCO - GTimer *timer; - gulong s; - - timer = g_timer_new (); - g_timer_start(timer); -#endif + START_PROFILER ("Charsets menu") g_return_if_fail (IS_EPHY_EMBED_SHELL (embed_shell)); g_return_if_fail (ephy_embed_shell_get_charset_groups (embed_shell, &groups) == G_OK); @@ -287,11 +282,7 @@ ephy_embed_utils_build_charsets_submenu (BonoboUIComponent *ui_component, g_list_free (groups); g_string_free (xml_string, TRUE); -#ifdef DEBUG_MARCO - g_timer_stop (timer); - g_timer_elapsed (timer, &s); - g_print ("Time to build charset menu: %f\n", (double)(s)/1000000); -#endif + STOP_PROFILER ("Charsets menu") } /** diff --git a/embed/ephy-favicon-cache.c b/embed/ephy-favicon-cache.c index e833cf2c7..7d76e50fe 100644 --- a/embed/ephy-favicon-cache.c +++ b/embed/ephy-favicon-cache.c @@ -279,8 +279,10 @@ ephy_favicon_cache_init (EphyFaviconCache *cache) g_str_equal); cache->priv->icons_hash_lock = g_new0 (GStaticRWLock, 1); g_static_rw_lock_init (cache->priv->icons_hash_lock); - cache->priv->downloads_hash = g_hash_table_new (g_str_hash, - g_str_equal); + cache->priv->downloads_hash = g_hash_table_new_full (g_str_hash, + g_str_equal, + g_free, + NULL); /* Icons */ cache->priv->icons = ephy_node_new_with_id (ICONS_NODE_ID); diff --git a/embed/ephy-history.c b/embed/ephy-history.c index 898f7034c..3df30b109 100644 --- a/embed/ephy-history.c +++ b/embed/ephy-history.c @@ -20,15 +20,13 @@ #include "ephy-history.h" #include "ephy-file-helpers.h" #include "ephy-autocompletion-source.h" +#include "ephy-debug.h" #include <time.h> #include <string.h> #include <libgnome/gnome-i18n.h> #include <libgnomevfs/gnome-vfs-uri.h> -//#define DEBUG_MSG(x) g_print x -#define DEBUG_MSG(x) - #define EPHY_HISTORY_XML_VERSION "0.1" /* how often to save the history, in milliseconds */ @@ -272,7 +270,7 @@ ephy_history_save (EphyHistory *eb) GPtrArray *children; int i; - DEBUG_MSG (("Saving history\n")); + LOG ("Saving history\n") /* save nodes to xml */ xmlIndentTreeOutput = TRUE; diff --git a/embed/mozilla/mozilla-embed.cpp b/embed/mozilla/mozilla-embed.cpp index 05408973f..49c1dbad0 100644 --- a/embed/mozilla/mozilla-embed.cpp +++ b/embed/mozilla/mozilla-embed.cpp @@ -20,12 +20,13 @@ #include "gtkmozembed_internal.h" #include "ephy-string.h" #include "ephy-embed.h" +#include "ephy-debug.h" #include "mozilla-embed.h" #include "MozillaPrivate.h" #include "EphyWrapper.h" #include "EventContext.h" -#include "nsIWindowWatcher.h" +#include <nsIWindowWatcher.h> #include <nsIURI.h> #include <nsIURL.h> #include <nsNetUtil.h> @@ -418,9 +419,7 @@ mozilla_embed_finalize (GObject *object) G_OBJECT_CLASS (parent_class)->finalize (object); -#ifdef DEBUG_MARCO - g_print ("MozillaEmbed finalized %p\n", embed); -#endif + LOG ("MozillaEmbed finalized %p\n", embed) } gpointer diff --git a/lib/ephy-autocompletion.c b/lib/ephy-autocompletion.c index 265590003..361b0ed2f 100644 --- a/lib/ephy-autocompletion.c +++ b/lib/ephy-autocompletion.c @@ -22,17 +22,7 @@ #include "ephy-autocompletion.h" #include "ephy-gobject-misc.h" #include "ephy-marshal.h" - -#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC); - -//#define DEBUG_MSG(x) g_print x -#define DEBUG_MSG(x) - -//#define DEBUG_TIME - -#ifdef DEBUG_TIME -#include <glib/gtimer.h> -#endif +#include "ephy-debug.h" /** * Private data @@ -181,18 +171,15 @@ static void ephy_autocompletion_reset (EphyAutocompletion *ac) { EphyAutocompletionPrivate *p = ac->priv; -#ifdef DEBUG_TIME - GTimer *timer = g_timer_new (); - g_timer_start (timer); -#endif + + START_PROFILER ("Resetting autocompletion") + acma_destroy (&p->matches); g_free (p->common_prefix); p->common_prefix = NULL; p->status = GAS_NEEDS_FULL_UPDATE; -#ifdef DEBUG_TIME - DEBUG_MSG (("AC: %f elapsed resetting\n", g_timer_elapsed (timer, NULL))); - g_timer_destroy (timer); -#endif + + STOP_PROFILER ("Resetting autocompletion") } EphyAutocompletion * @@ -277,10 +264,9 @@ ephy_autocompletion_get_common_prefix (EphyAutocompletion *ac) { guint common_length = 0; guint i; -#ifdef DEBUG_TIME - GTimer *timer = g_timer_new (); - g_timer_start (timer); -#endif + + START_PROFILER ("Get Common Prefix") + for (i = 0; i < p->matches.num_matches; i++) { EphyAutocompletionMatch *mi = &p->matches.array[i]; @@ -307,10 +293,8 @@ ephy_autocompletion_get_common_prefix (EphyAutocompletion *ac) p->common_prefix = g_strndup (realmatch, common_length); } } -#ifdef DEBUG_TIME - DEBUG_MSG (("AC: %f elapsed calculating common prefix\n", g_timer_elapsed (timer, NULL))); - g_timer_destroy (timer); -#endif + + STOP_PROFILER ("Get Common Prefix") } return g_strdup (p->common_prefix); } @@ -354,14 +338,9 @@ ephy_autocompletion_refine_matches (EphyAutocompletion *ac) guint i; gchar *key0 = p->keys[0]; guint key0l = p->key_lengths[0]; -#ifdef DEBUG_TIME - GTimer *timer = g_timer_new (); -#endif - DEBUG_MSG (("AC: refining\n")); - -#ifdef DEBUG_TIME - g_timer_start (timer); -#endif + + START_PROFILER ("Refine matches") + acma_init (&newmatches); p->changed = FALSE; @@ -386,11 +365,7 @@ ephy_autocompletion_refine_matches (EphyAutocompletion *ac) acma_destroy (&oldmatches); p->matches = newmatches; -#ifdef DEBUG_TIME - DEBUG_MSG (("AC: %f elapsed refining\n", g_timer_elapsed (timer, NULL))); - g_timer_destroy (timer); -#endif - DEBUG_MSG (("AC: %d matches\n", p->matches.num_matches)); + STOP_PROFILER ("Refine matches") } static void @@ -466,16 +441,9 @@ ephy_autocompletion_update_matches_full (EphyAutocompletion *ac) { EphyAutocompletionPrivate *p = ac->priv; GSList *li; -#ifdef DEBUG_TIME - GTimer *timer = g_timer_new (); -#endif - DEBUG_MSG (("AC: fully updating\n")); - ephy_autocompletion_reset (ac); + START_PROFILER ("Update full") -#ifdef DEBUG_TIME - g_timer_start (timer); -#endif for (li = p->sources; li; li = li->next) { EphyAutocompletionSource *s = EPHY_AUTOCOMPLETION_SOURCE (li->data); @@ -485,15 +453,13 @@ ephy_autocompletion_update_matches_full (EphyAutocompletion *ac) ephy_autocompletion_update_matches_full_item, p); } -#ifdef DEBUG_TIME - DEBUG_MSG (("AC: %f elapsed fully updating\n", g_timer_elapsed (timer, NULL))); - g_timer_destroy (timer); -#endif + + STOP_PROFILER ("Update full") p->sorted = FALSE; p->changed = TRUE; - DEBUG_MSG (("AC: %d matches, fully updated\n", p->matches.num_matches)); + LOG ("AC: %d matches, fully updated", p->matches.num_matches); } static gint @@ -521,9 +487,7 @@ static gboolean ephy_autocompletion_sort_by_score (EphyAutocompletion *ac) { EphyAutocompletionPrivate *p = ac->priv; -#ifdef DEBUG_TIME - GTimer *timer; -#endif + gint (*comparer) (EphyAutocompletionMatch *m1, EphyAutocompletionMatch *m2); if (p->sort_alpha) @@ -538,11 +502,8 @@ ephy_autocompletion_sort_by_score (EphyAutocompletion *ac) ephy_autocompletion_update_matches (ac); if (p->changed == FALSE) return FALSE; - DEBUG_MSG (("AC: sorting\n")); -#ifdef DEBUG_TIME - timer = g_timer_new (); - g_timer_start (timer); -#endif + START_PROFILER ("Sorting") + if (p->matches.num_matches > 0) { qsort (p->matches.array, p->matches.num_matches, @@ -552,10 +513,8 @@ ephy_autocompletion_sort_by_score (EphyAutocompletion *ac) p->sorted = TRUE; -#ifdef DEBUG_TIME - DEBUG_MSG (("AC: %f elapsed sorting by score\n", g_timer_elapsed (timer, NULL))); - g_timer_destroy (timer); -#endif + STOP_PROFILER ("Sorting") + return TRUE; } @@ -563,7 +522,7 @@ static void ephy_autocompletion_data_changed_cb (EphyAutocompletionSource *s, EphyAutocompletion *ac) { - DEBUG_MSG (("AC: data changed, reseting\n")); + LOG ("Data changed, resetting"); ephy_autocompletion_reset (ac); g_signal_emit (ac, EphyAutocompletionSignals[EPHY_AUTOCOMPLETION_SOURCES_CHANGED], 0); @@ -663,5 +622,3 @@ acma_grow (ACMatchArray *a) a->array_size = new_size; a->array = new_array; } - - diff --git a/lib/ephy-debug.c b/lib/ephy-debug.c index a97c081d2..4f9f74cdd 100644 --- a/lib/ephy-debug.c +++ b/lib/ephy-debug.c @@ -20,28 +20,170 @@ #include <string.h> +#ifndef DISABLE_PROFILING -static const char *ephy_debug_modules; +static GHashTable *ephy_profilers_hash = NULL; +static const char *ephy_profile_modules = NULL; + +#endif + +#ifndef DISABLE_LOGGING + +static const char *ephy_log_modules; static void -log_func (const gchar *log_domain, - GLogLevelFlags log_level, - const gchar *message, - gpointer user_data) +log_module (const gchar *log_domain, + GLogLevelFlags log_level, + const gchar *message, + gpointer user_data) { - if (!ephy_debug_modules) return; + gboolean should_log = FALSE; + + if (!ephy_log_modules) return; - if ((strcmp (ephy_debug_modules, "all") == 0) || - strstr (message, ephy_debug_modules) != NULL) + if (strcmp (ephy_log_modules, "all") != 0) + { + char **modules; + int i; + + modules = g_strsplit (ephy_log_modules, ":", 100); + + for (i = 0; modules[i] != NULL; i++) + { + if (strstr (message, modules [i]) != NULL) + { + should_log = TRUE; + break; + } + } + + g_strfreev (modules); + } + else + { + should_log = TRUE; + } + + if (should_log) { g_print ("%s\n", message); } } +#endif + void ephy_debug_init (void) { - ephy_debug_modules = g_getenv ("EPHY_DEBUG_MODULES"); +#ifndef DISABLE_LOGGING + ephy_log_modules = g_getenv ("EPHY_LOG_MODULES"); + + g_log_set_handler (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, log_module, NULL); +#endif +#ifndef DISABLE_PROFILING + ephy_profile_modules = g_getenv ("EPHY_PROFILE_MODULES"); +#endif +} + +#ifndef DISABLE_PROFILING + +static EphyProfiler * +ephy_profiler_new (const char *name, const char *module) +{ + EphyProfiler *profiler; + + profiler = g_new0 (EphyProfiler, 1); + profiler->timer = g_timer_new (); + profiler->name = g_strdup (name); + profiler->module = g_strdup (module); + + g_timer_start (profiler->timer); + + return profiler; +} + +static gboolean +ephy_should_profile (const char *module) +{ + char **modules; + int i; + gboolean res = FALSE; + + if (!ephy_profile_modules) return FALSE; + if (strcmp (ephy_profile_modules, "all") == 0) return TRUE; + + modules = g_strsplit (ephy_profile_modules, ":", 100); + + for (i = 0; modules[i] != NULL; i++) + { + if (strcmp (module, modules [i]) == 0) + { + res = TRUE; + break; + } + } + + g_strfreev (modules); - g_log_set_handler (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, log_func, NULL); + return res; } + +static void +ephy_profiler_dump (EphyProfiler *profiler) +{ + long elapsed; + double seconds; + + g_return_if_fail (profiler != NULL); + + seconds = g_timer_elapsed (profiler->timer, &elapsed); + + g_print ("[ %s ] %s %ld ms (%f s) elapsed\n", + profiler->module, profiler->name, + elapsed / (G_USEC_PER_SEC / 1000), seconds); +} + +static void +ephy_profiler_free (EphyProfiler *profiler) +{ + g_return_if_fail (profiler != NULL); + + g_timer_destroy (profiler->timer); + g_free (profiler->name); + g_free (profiler->module); + g_free (profiler); +} + +void +ephy_profiler_start (const char *name, const char *module) +{ + EphyProfiler *profiler; + + if (ephy_profilers_hash == NULL) + { + ephy_profilers_hash = + g_hash_table_new_full (g_str_hash, g_str_equal, + g_free, NULL); + } + + if (!ephy_should_profile (module)) return; + + profiler = ephy_profiler_new (name, module); + + g_hash_table_insert (ephy_profilers_hash, g_strdup (name), profiler); +} + +void +ephy_profiler_stop (const char *name) +{ + EphyProfiler *profiler; + + profiler = g_hash_table_lookup (ephy_profilers_hash, name); + if (profiler == NULL) return; + g_hash_table_remove (ephy_profilers_hash, name); + + ephy_profiler_dump (profiler); + ephy_profiler_free (profiler); +} + +#endif diff --git a/lib/ephy-debug.h b/lib/ephy-debug.h index 4939bffef..934f2b658 100644 --- a/lib/ephy-debug.h +++ b/lib/ephy-debug.h @@ -19,21 +19,55 @@ #ifndef EPHY_DEBUG_H #define EPHY_DEBUG_H +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <glib.h> G_BEGIN_DECLS +#ifndef GNOME_ENABLE_DEBUG +#define DISABLE_LOGGING +#define DISABLE_PROFILING +#endif + #ifdef DISABLE_LOGGING -#define LOG() +#define LOG(msg, ...) #else -#define LOG(msg, args...) \ +#define LOG(msg, ...) \ g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, \ "[ %s ] " msg, \ - __FILE__, \ - args); + __FILE__, ##__VA_ARGS__); +#endif + +#ifdef DISABLE_PROFILING +#define START_PROFILER(name) +#define STOP_PROFILER(name) +#else +#define START_PROFILER(name) \ +ephy_profiler_start (name, __FILE__); +#define STOP_PROFILER(name) \ +ephy_profiler_stop (name); #endif -void ephy_debug_init (void); +typedef struct +{ + GTimer *timer; + char *name; + char *module; +} EphyProfiler; + +void ephy_debug_init (void); + +#ifndef DISABLE_PROFILING + +void ephy_profiler_start (const char *name, + const char *module); + +void ephy_profiler_stop (const char *name); + +#endif G_END_DECLS diff --git a/lib/ephy-filesystem-autocompletion.c b/lib/ephy-filesystem-autocompletion.c index 8b1cb84fb..b1f340a4c 100644 --- a/lib/ephy-filesystem-autocompletion.c +++ b/lib/ephy-filesystem-autocompletion.c @@ -23,15 +23,11 @@ #include "ephy-autocompletion-source.h" #include "ephy-filesystem-autocompletion.h" #include "ephy-gobject-misc.h" -#include <string.h> +#include "ephy-debug.h" +#include <string.h> #include <libgnomevfs/gnome-vfs-async-ops.h> -#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC); - -//#define DEBUG_MSG(x) g_print x -#define DEBUG_MSG(x) - /** * Private data */ @@ -104,7 +100,7 @@ ephy_filesystem_autocompletion_finalize_impl (GObject *o) EphyFilesystemAutocompletion *as = GUL_FILESYSTEM_AUTOCOMPLETION (o); EphyFilesystemAutocompletionPrivate *p = as->priv; - DEBUG_MSG (("in ephy_filesystem_autocompletion_finalize_impl\n")); + LOG ("Finalize") g_free (p->basic_key); g_free (p->basic_key_dir); @@ -193,7 +189,7 @@ gfa_load_directory_cb (GnomeVFSAsyncHandle *handle, g_return_if_fail (p->load_handle == handle); - DEBUG_MSG (("gfa_load_directory_cb, entries_read == %d\n", entries_read)); + LOG ("entries_read == %d", entries_read) if (entries_read <= 0) { @@ -221,7 +217,7 @@ gfa_load_directory_cb (GnomeVFSAsyncHandle *handle, gchar *f = g_strconcat (cd, i->name, NULL); p->files = g_slist_prepend (p->files, f); - DEBUG_MSG (("+ %s\n", f)); + LOG ("+ %s", f) } } @@ -262,14 +258,14 @@ ephy_filesystem_autocompletion_set_current_dir (EphyFilesystemAutocompletion *fa if (!cd_uri) { - DEBUG_MSG (("Can't load dir %s\n", d)); + LOG ("Can't load dir %s", d) return; } g_free (p->current_dir); p->current_dir = gnome_vfs_uri_to_string (cd_uri, GNOME_VFS_URI_HIDE_NONE); - DEBUG_MSG (("Loading dir: %s\n", p->current_dir)); + LOG ("Loading dir: %s", p->current_dir) gnome_vfs_async_load_directory_uri (&p->load_handle, cd_uri, @@ -336,7 +332,7 @@ ephy_filesystem_autocompletion_set_base_dir (EphyFilesystemAutocompletion *fa, c if (p->base_dir_uri) { gchar *t = gnome_vfs_uri_to_string (p->base_dir_uri, GNOME_VFS_URI_HIDE_NONE); - DEBUG_MSG (("base_dir: %s\n", t)); + LOG ("base_dir: %s", t) g_free (t); } } diff --git a/lib/ephy-start-here.c b/lib/ephy-start-here.c index 7363baeb2..030b5d5f6 100644 --- a/lib/ephy-start-here.c +++ b/lib/ephy-start-here.c @@ -23,9 +23,6 @@ #include "ephy-start-here.h" #include "ephy-file-helpers.h" -//#define DEBUG_MSG(x) g_print x -#define DEBUG_MSG(x) - struct EphyStartHerePrivate { const GList *langs; diff --git a/lib/widgets/ephy-autocompletion-window.c b/lib/widgets/ephy-autocompletion-window.c index a070c282a..a974a6570 100644 --- a/lib/widgets/ephy-autocompletion-window.c +++ b/lib/widgets/ephy-autocompletion-window.c @@ -33,6 +33,7 @@ #include "ephy-string.h" #include "ephy-marshal.h" #include "ephy-gui.h" +#include "ephy-debug.h" /* This is copied from gtkscrollbarwindow.c */ #define DEFAULT_SCROLLBAR_SPACING 3 @@ -44,15 +45,6 @@ #define MAX_VISIBLE_ROWS 9 #define MAX_COMPLETION_ALTERNATIVES 7 -//#define DEBUG_MSG(x) g_print x -#define DEBUG_MSG(x) - -//#define DEBUG_TIME - -#ifdef DEBUG_TIME -#include <glib/gtimer.h> -#endif - /** * Private data */ @@ -378,10 +370,9 @@ ephy_autocompletion_window_get_dimensions (EphyAutocompletionWindow *aw, popup->vscrollbar->requisition.height); row_height = list_requisition.height / MAX (aw->priv->view_nitems, 1); - DEBUG_MSG (("Real list requisition %d, Items %d\n", list_requisition.height, aw->priv->view_nitems)); + LOG ("Real list requisition %d, Items %d", list_requisition.height, aw->priv->view_nitems) list_requisition.height = MIN (row_height * MAX_VISIBLE_ROWS, list_requisition.height); - DEBUG_MSG (("Row Height %d, Fake list requisition %d\n", - row_height, list_requisition.height)); + LOG ("Row Height %d, Fake list requisition %d", row_height, list_requisition.height) do { @@ -439,15 +430,8 @@ ephy_autocompletion_window_fill_store_chunk (EphyAutocompletionWindow *aw) guint nmatches; guint last; guint completion_nitems = 0, action_nitems = 0, substring_nitems = 0; -#ifdef DEBUG_TIME - GTimer *timer; -#endif - DEBUG_MSG (("ACW: Filling the list from %d\n", last)); -#ifdef DEBUG_TIME - timer = g_timer_new (); - g_timer_start (timer); -#endif + START_PROFILER ("Fill store") nmatches = ephy_autocompletion_get_num_matches (p->autocompletion); matches = ephy_autocompletion_get_matches_sorted_by_score (p->autocompletion, @@ -510,10 +494,7 @@ ephy_autocompletion_window_fill_store_chunk (EphyAutocompletionWindow *aw) p->last_added_match = last; -#ifdef DEBUG_TIME - DEBUG_MSG (("ACW: %f elapsed filling the gtkliststore\n", g_timer_elapsed (timer, NULL))); - g_timer_destroy (timer); -#endif + STOP_PROFILER ("Fill store") } void @@ -522,10 +503,6 @@ ephy_autocompletion_window_show (EphyAutocompletionWindow *aw) EphyAutocompletionWindowPrivate *p = aw->priv; gint x, y, height, width; guint nmatches; -#ifdef DEBUG_TIME - GTimer *timer1; - GTimer *timer2; -#endif g_return_if_fail (p->window); g_return_if_fail (p->autocompletion); @@ -537,16 +514,7 @@ ephy_autocompletion_window_show (EphyAutocompletionWindow *aw) return; } -#ifdef DEBUG_TIME - DEBUG_MSG (("ACW: showing window.\n")); - timer1 = g_timer_new (); - g_timer_start (timer1); -#endif - -#ifdef DEBUG_TIME - timer2 = g_timer_new (); - g_timer_start (timer2); -#endif + START_PROFILER ("Showing window") ephy_autocompletion_window_fill_store_chunk (aw); @@ -561,24 +529,11 @@ ephy_autocompletion_window_show (EphyAutocompletionWindow *aw) p->active_tree_view = p->tree_view; } -#ifdef DEBUG_TIME - DEBUG_MSG (("ACW: %f elapsed creating liststore\n", g_timer_elapsed (timer2, NULL))); -#endif - gtk_tree_view_set_model (p->tree_view, GTK_TREE_MODEL (p->list_store)); gtk_tree_view_set_model (p->action_tree_view, GTK_TREE_MODEL (p->action_list_store)); -#ifdef DEBUG_TIME - g_timer_start (timer2); -#endif - ephy_autocompletion_window_get_dimensions (aw, &x, &y, &width, &height); -#ifdef DEBUG_TIME - DEBUG_MSG (("ACW: %f elapsed calculating dimensions\n", g_timer_elapsed (timer2, NULL))); - g_timer_destroy (timer2); -#endif - gtk_widget_set_size_request (GTK_WIDGET (p->window), width, height); gtk_window_move (GTK_WINDOW (p->window), x, y); @@ -613,10 +568,8 @@ ephy_autocompletion_window_show (EphyAutocompletionWindow *aw) gtk_tree_view_scroll_to_point (GTK_TREE_VIEW (p->tree_view), 0, 0); gtk_widget_grab_focus (GTK_WIDGET (p->tree_view)); -#ifdef DEBUG_TIME - DEBUG_MSG (("ACW: %f elapsed showing window\n", g_timer_elapsed (timer1, NULL))); - g_timer_destroy (timer1); -#endif + + STOP_PROFILER ("Showing window") } static gboolean @@ -789,8 +742,6 @@ ephy_autocompletion_window_key_press_cb (GtkWidget *widget, if (dest_widget != widget) { - //DEBUG_MSG (("Resending event\n")); - tmp_event = *event; gtk_widget_event (dest_widget, (GdkEvent *)&tmp_event); @@ -798,11 +749,6 @@ ephy_autocompletion_window_key_press_cb (GtkWidget *widget, } else { - if (widget == GTK_WIDGET (p->tree_view)) - { - //DEBUG_MSG (("on the tree view ")); - } - //DEBUG_MSG (("Ignoring event\n")); return FALSE; } diff --git a/lib/widgets/ephy-location-entry.c b/lib/widgets/ephy-location-entry.c index b0669f89f..d2702c6b4 100644 --- a/lib/widgets/ephy-location-entry.c +++ b/lib/widgets/ephy-location-entry.c @@ -22,6 +22,7 @@ #include "ephy-gobject-misc.h" #include "eel-gconf-extensions.h" #include "ephy-prefs.h" +#include "ephy-debug.h" #include <gtk/gtkentry.h> #include <gtk/gtkwindow.h> @@ -30,11 +31,6 @@ #include <libgnomeui/gnome-entry.h> #include <string.h> -//#define DEBUG_MSG(x) g_print x -#define DEBUG_MSG(x) - -#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC); - /** * Private data */ @@ -156,7 +152,7 @@ ephy_location_entry_finalize_impl (GObject *o) g_object_unref (G_OBJECT (p->autocompletion_window)); } - DEBUG_MSG (("EphyLocationEntry finalized\n")); + LOG ("EphyLocationEntry finalized") g_free (p); G_OBJECT_CLASS (gtk_hbox_class)->finalize (o); @@ -238,7 +234,7 @@ ephy_location_entry_autocompletion_show_alternatives_to (EphyLocationEntry *w) if (p->autocompletion) { - DEBUG_MSG (("+ephy_location_entry_autocompletion_show_alternatives_to\n")); + LOG ("Show alternatives") ephy_location_entry_set_autocompletion_key (w); ephy_location_entry_autocompletion_show_alternatives (w); } @@ -285,7 +281,7 @@ ephy_location_entry_autocompletion_to (EphyLocationEntry *w) gchar *text; gchar *common_prefix; - DEBUG_MSG (("in ephy_location_entry_autocompletion_to\n")); + LOG ("Autocompletion to") ephy_location_entry_set_autocompletion_key (w); @@ -301,8 +297,8 @@ ephy_location_entry_autocompletion_to (EphyLocationEntry *w) || send != text_len) { /* the user is editing the entry, don't mess it */ - DEBUG_MSG (("The user seems editing the text: pos = %d, strlen (text) = %d, sstart = %d, send = %d\n", - pos, strlen (text), sstart, send)); + LOG ("The user seems editing the text: pos = %d, strlen (text) = %d, sstart = %d, send = %d", + pos, strlen (text), sstart, send) p->autocompletion_timeout = 0; return FALSE; } @@ -310,7 +306,7 @@ ephy_location_entry_autocompletion_to (EphyLocationEntry *w) common_prefix = ephy_autocompletion_get_common_prefix (p->autocompletion); - DEBUG_MSG (("common_prefix: %s\n", common_prefix)); + LOG ("common_prefix: %s", common_prefix) if (common_prefix && (!p->before_completion || p->before_completion[0] == '\0')) { @@ -503,7 +499,7 @@ ephy_location_entry_activate_cb (GtkEntry *entry, EphyLocationEntry *w) ephy_location_entry_autocompletion_hide_alternatives (w); - DEBUG_MSG (("In ephy_location_entry_activate_cb, activating %s\n", content)); + LOG ("In ephy_location_entry_activate_cb, activating %s", content) g_signal_emit (w, EphyLocationEntrySignals[ACTIVATED], 0, target, content); g_free (content); @@ -515,7 +511,7 @@ ephy_location_entry_autocompletion_sources_changed_cb (EphyAutocompletion *aw, { EphyLocationEntryPrivate *p = w->priv; - DEBUG_MSG (("in ephy_location_entry_autocompletion_sources_changed_cb\n")); + LOG ("in ephy_location_entry_autocompletion_sources_changed_cb") if (p->autocompletion_timeout == 0 && p->last_completion @@ -613,7 +609,7 @@ ephy_location_entry_autocompletion_window_url_activated_cb (EphyAutocompletionWi content = gtk_editable_get_chars (GTK_EDITABLE(w->priv->entry), 0, -1); - DEBUG_MSG (("In location_entry_autocompletion_window_url_activated_cb, going to %s\n", content)); + LOG ("In location_entry_autocompletion_window_url_activated_cb, going to %s", content); ephy_location_entry_autocompletion_hide_alternatives (w); @@ -625,11 +621,11 @@ ephy_location_entry_autocompletion_window_url_activated_cb (EphyAutocompletionWi static void ephy_location_entry_autocompletion_window_hidden_cb (EphyAutocompletionWindow *aw, - EphyLocationEntry *w) + EphyLocationEntry *w) { EphyLocationEntryPrivate *p = w->priv; - DEBUG_MSG (("In location_entry_autocompletion_window_hidden_cb\n")); + LOG ("In location_entry_autocompletion_window_hidden_cb"); p->autocompletion_window_visible = FALSE; diff --git a/src/bookmarks/ephy-bookmarks-editor.c b/src/bookmarks/ephy-bookmarks-editor.c index 66454d586..94a512fe6 100644 --- a/src/bookmarks/ephy-bookmarks-editor.c +++ b/src/bookmarks/ephy-bookmarks-editor.c @@ -32,9 +32,6 @@ #include "ephy-keywords-entry.h" #include "ephy-dnd.h" -//#define DEBUG_MSG(x) g_print x -#define DEBUG_MSG(x) - static void ephy_bookmarks_editor_class_init (EphyBookmarksEditorClass *klass); static void ephy_bookmarks_editor_init (EphyBookmarksEditor *editor); static void ephy_bookmarks_editor_finalize (GObject *object); diff --git a/src/bookmarks/ephy-bookmarks.c b/src/bookmarks/ephy-bookmarks.c index bf77ed3f7..0f68d8858 100644 --- a/src/bookmarks/ephy-bookmarks.c +++ b/src/bookmarks/ephy-bookmarks.c @@ -20,13 +20,11 @@ #include "ephy-file-helpers.h" #include "ephy-shell.h" #include "ephy-history.h" +#include "ephy-debug.h" #include <string.h> #include <libgnome/gnome-i18n.h> -//#define DEBUG_MSG(x) g_print x -#define DEBUG_MSG(x) - #define EPHY_BOOKMARKS_XML_VERSION "0.1" #define MAX_FAVORITES_NUM 10 @@ -194,10 +192,11 @@ ephy_bookmarks_clean_empty_keywords (EphyBookmarks *eb) for (tmp = l; tmp != NULL; tmp = tmp->next) { - DEBUG_MSG (("Remove empty keyword: %s\n", - ephy_node_get_property_string (kid, - EPHY_NODE_KEYWORD_PROP_NAME))); - g_object_unref (EPHY_NODE (tmp->data)); + EphyNode *node = EPHY_NODE (tmp->data); + LOG ("Remove empty keyword: %s", + ephy_node_get_property_string (node, + EPHY_NODE_KEYWORD_PROP_NAME)) + g_object_unref (node); } g_list_free (l); @@ -241,7 +240,7 @@ ephy_bookmarks_save (EphyBookmarks *eb) GPtrArray *children; int i; - DEBUG_MSG (("Saving bookmarks\n")); + LOG ("Saving bookmarks") /* save nodes to xml */ xmlIndentTreeOutput = TRUE; @@ -853,7 +852,7 @@ ephy_bookmarks_find_keyword (EphyBookmarks *eb, if (g_utf8_strlen (name, -1) == 0) { - DEBUG_MSG (("Empty name, no keyword matches.\n")); + LOG ("Empty name, no keyword matches.") return NULL; } @@ -905,7 +904,7 @@ diff_keywords (char **ks1, char **ks2) { gboolean found = FALSE; - DEBUG_MSG (("Diff keywords, keyword:\"%s\"\n", ks1[i])); + LOG ("Diff keywords, keyword:\"%s\"", ks1[i]) for (j = 0; ks2 != NULL && ks2[j] != NULL; j++) { diff --git a/src/bookmarks/ephy-keywords-entry.c b/src/bookmarks/ephy-keywords-entry.c index 94d6c93a9..0894bfcae 100644 --- a/src/bookmarks/ephy-keywords-entry.c +++ b/src/bookmarks/ephy-keywords-entry.c @@ -19,14 +19,10 @@ #include "ephy-keywords-entry.h" #include "ephy-marshal.h" #include "ephy-gobject-misc.h" +#include "ephy-debug.h" #include <gdk/gdkkeysyms.h> -//#define DEBUG_MSG(x) g_print x -#define DEBUG_MSG(x) - -#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC); - /** * Private data */ @@ -99,7 +95,7 @@ try_to_expand_keyword (GtkEditable *editable) entry_text = gtk_editable_get_chars (editable, 0, -1); g_return_if_fail (entry_text != NULL); - DEBUG_MSG (("Entry text \"%s\"\n", entry_text)); + LOG ("Entry text \"%s\"", entry_text) user_text = g_utf8_strrchr (entry_text, -1, ' '); @@ -114,7 +110,7 @@ try_to_expand_keyword (GtkEditable *editable) user_text = entry_text; } - DEBUG_MSG (("User text \"%s\"\n", user_text)); + LOG ("User text \"%s\"", user_text) node = ephy_bookmarks_find_keyword (entry->priv->bookmarks, user_text, TRUE); @@ -123,7 +119,7 @@ try_to_expand_keyword (GtkEditable *editable) expand_text = ephy_node_get_property_string (node, EPHY_NODE_KEYWORD_PROP_NAME); - DEBUG_MSG (("Expand text %s\n", expand_text)); + LOG ("Expand text %s", expand_text) expand_text_length = g_utf8_strlen (expand_text, -1); user_text_length = g_utf8_strlen (user_text, -1); @@ -137,7 +133,7 @@ try_to_expand_keyword (GtkEditable *editable) } else { - DEBUG_MSG (("No expansion.\n")); + LOG ("No expansion.") } g_free (entry_text); diff --git a/src/bookmarks/ephy-new-bookmark.c b/src/bookmarks/ephy-new-bookmark.c index e5d9c496d..dbda8b11b 100644 --- a/src/bookmarks/ephy-new-bookmark.c +++ b/src/bookmarks/ephy-new-bookmark.c @@ -28,9 +28,7 @@ #include "ephy-new-bookmark.h" #include "ephy-keywords-entry.h" - -//#define DEBUG_MSG(x) g_print x -#define DEBUG_MSG(x) +#include "ephy-debug.h" static void ephy_new_bookmark_class_init (EphyNewBookmarkClass *klass); static void ephy_new_bookmark_init (EphyNewBookmark *editor); @@ -332,7 +330,7 @@ void ephy_new_bookmark_set_title (EphyNewBookmark *bookmark, const char *title) { - DEBUG_MSG (("Setting new bookmark title to: \"%s\"", title)); + LOG ("Setting new bookmark title to: \"%s\"", title) gtk_entry_set_text (GTK_ENTRY (bookmark->priv->title_entry), g_strdup (title)); } diff --git a/src/ephy-favorites-menu.c b/src/ephy-favorites-menu.c index d8f44f852..b463663c2 100644 --- a/src/ephy-favorites-menu.c +++ b/src/ephy-favorites-menu.c @@ -26,15 +26,12 @@ #include "ephy-bonobo-extensions.h" #include "ephy-marshal.h" #include "ephy-shell.h" +#include "ephy-debug.h" #include <string.h> #include <stdlib.h> #include <libxml/entities.h> -#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC); -//#define DEBUG_MSG(x) g_print x -#define DEBUG_MSG(x) - #define MAX_LABEL_LENGTH 30 /** @@ -213,7 +210,7 @@ ephy_favorites_menu_rebuild (EphyFavoritesMenu *wrhm) ephy_bonobo_clear_path (uic, p->path); - DEBUG_MSG (("Rebuilding recent history menu\n")); + LOG ("Rebuilding recent history menu") fav = ephy_bookmarks_get_favorites (p->bookmarks); children = ephy_node_get_children (fav); @@ -260,7 +257,7 @@ ephy_favorites_menu_rebuild (EphyFavoritesMenu *wrhm) ephy_node_thaw (fav); g_string_append (xml, "</placeholder>\n"); - DEBUG_MSG (("\n%s\n", xml->str)); + if (children->len > 0) { bonobo_ui_component_set (uic, p->path, diff --git a/src/ephy-nautilus-view.c b/src/ephy-nautilus-view.c index c485721a5..04916c37a 100644 --- a/src/ephy-nautilus-view.c +++ b/src/ephy-nautilus-view.c @@ -30,10 +30,7 @@ #include "print-dialog.h" #include "ephy-prefs.h" #include "eel-gconf-extensions.h" - -#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC); -#define DEBUG_MSG(x) g_print x -//#define DEBUG_MSG(x) +#include "ephy-debug.h" static void gnv_embed_location_cb (EphyEmbed *embed, EphyNautilusView *view); @@ -566,7 +563,7 @@ gnv_cmd_set_charset (BonoboUIComponent *uic, p = view->priv; - DEBUG_MSG ((data->encoding)); + LOG ("Set charset %s", data->encoding) ephy_embed_set_charset (p->embed, data->encoding); } @@ -783,13 +780,13 @@ vfs_open_cb (GnomeVFSAsyncHandle *handle, GnomeVFSResult result, gpointer data) { EphyNautilusView *view = data; - DEBUG_MSG (("+%s GnomeVFSResult: %u\n", G_GNUC_FUNCTION, (unsigned)result)); + LOG ("+%s GnomeVFSResult: %u", G_GNUC_FUNCTION, (unsigned)result) if (result != GNOME_VFS_OK) { gtk_moz_embed_close_stream (GTK_MOZ_EMBED (view->priv->embed->mozembed)); /* NOTE: the view may go away after a call to report_load_failed */ - DEBUG_MSG ((">nautilus_view_report_load_failed\n")); + LOG (">nautilus_view_report_load_failed") nautilus_view_report_load_failed (view->priv->nautilus_view); } else { if (view->priv->vfs_read_buffer == NULL) { @@ -798,7 +795,7 @@ vfs_open_cb (GnomeVFSAsyncHandle *handle, GnomeVFSResult result, gpointer data) gtk_moz_embed_open_stream (GTK_MOZ_EMBED (view->priv->embed->mozembed), "file:///", "text/html"); gnome_vfs_async_read (handle, view->priv->vfs_read_buffer, VFS_READ_BUFFER_SIZE, vfs_read_cb, view); } - DEBUG_MSG (("-%s\n", G_GNUC_FUNCTION)); + LOG ("-%s", G_GNUC_FUNCTION); } /** @@ -815,7 +812,7 @@ vfs_read_cb (GnomeVFSAsyncHandle *handle, GnomeVFSResult result, gpointer buffer { EphyNautilusView *view = data; - DEBUG_MSG (("+%s %ld/%ld bytes\n", G_GNUC_FUNCTION, (long)bytes_requested, (long) bytes_read)); + LOG ("+%s %ld/%ld bytes", G_GNUC_FUNCTION, (long)bytes_requested, (long) bytes_read) if (bytes_read != 0) { gtk_moz_embed_append_data (GTK_MOZ_EMBED (view->priv->embed->mozembed), buffer, bytes_read); @@ -829,15 +826,15 @@ vfs_read_cb (GnomeVFSAsyncHandle *handle, GnomeVFSResult result, gpointer buffer gnome_vfs_async_close (handle, (GnomeVFSAsyncCloseCallback) gtk_true, NULL); - DEBUG_MSG ((">nautilus_view_report_load_complete\n")); + LOG (">nautilus_view_report_load_complete") nautilus_view_report_load_complete (view->priv->nautilus_view); - DEBUG_MSG (("=%s load complete\n", G_GNUC_FUNCTION)); + LOG ("=%s load complete", G_GNUC_FUNCTION) } else { gnome_vfs_async_read (handle, view->priv->vfs_read_buffer, VFS_READ_BUFFER_SIZE, vfs_read_cb, view); } - DEBUG_MSG (("-%s\n", G_GNUC_FUNCTION)); + LOG ("-%s", G_GNUC_FUNCTION) } /***********************************************************************************/ @@ -875,7 +872,7 @@ navigate_mozilla_to_nautilus_uri (EphyNautilusView *view, * premature realization may cause other issues) */ - DEBUG_MSG (("=%s: Postponing navigation request to widget realization\n", G_GNUC_FUNCTION)); + LOG ("=%s: Postponing navigation request to widget realization", G_GNUC_FUNCTION) /* Note that view->priv->uri is still set below */ } else { if (should_mozilla_load_uri_directly (uri)) { @@ -891,7 +888,7 @@ navigate_mozilla_to_nautilus_uri (EphyNautilusView *view, old_uri = view->priv->embed->location; if (old_uri != NULL && uris_identical (uri, old_uri)) { - DEBUG_MSG (("=%s uri's identical, telling ephy to reload\n", G_GNUC_FUNCTION)); + LOG ("=%s uri's identical, telling ephy to reload", G_GNUC_FUNCTION) embed_reload (view->priv->embed, GTK_MOZ_EMBED_FLAG_RELOADBYPASSCACHE); } else { @@ -899,7 +896,7 @@ navigate_mozilla_to_nautilus_uri (EphyNautilusView *view, } } else { - DEBUG_MSG (("=%s loading URI via gnome-vfs\n", G_GNUC_FUNCTION)); + LOG ("=%s loading URI via gnome-vfs", G_GNUC_FUNCTION) gnome_vfs_async_open (&(view->priv->vfs_handle), uri, GNOME_VFS_OPEN_READ, GNOME_VFS_PRIORITY_DEFAULT, vfs_open_cb, view); @@ -909,7 +906,7 @@ navigate_mozilla_to_nautilus_uri (EphyNautilusView *view, g_free (view->priv->uri); view->priv->uri = g_strdup (uri); - DEBUG_MSG (("=%s current URI is now '%s'\n", G_GNUC_FUNCTION, view->priv->uri)); + LOG ("=%s current URI is now '%s'", G_GNUC_FUNCTION, view->priv->uri) } /* diff --git a/src/ephy-navigation-button.c b/src/ephy-navigation-button.c index f57de2690..a10b3a942 100644 --- a/src/ephy-navigation-button.c +++ b/src/ephy-navigation-button.c @@ -20,19 +20,17 @@ #include "config.h" #endif -#include <libgnome/gnome-i18n.h> #include "ephy-gobject-misc.h" #include "ephy-marshal.h" #include "ephy-tb-button.h" #include "ephy-gui.h" #include "ephy-string.h" #include "ephy-navigation-button.h" +#include "ephy-debug.h" + #include <gtk/gtkstock.h> #include <string.h> - -#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC); -//#define DEBUG_MSG(x) g_print x -#define DEBUG_MSG(x) +#include <libgnome/gnome-i18n.h> /** * Private data @@ -124,7 +122,7 @@ ephy_navigation_button_finalize_impl (GObject *o) g_free (p); - DEBUG_MSG (("EphyNavigationButton finalized\n")); + LOG ("EphyNavigationButton finalized") G_OBJECT_CLASS (ephy_tb_item_class)->finalize (o); } diff --git a/src/ephy-shell.c b/src/ephy-shell.c index e10af0ee2..86543d082 100644 --- a/src/ephy-shell.c +++ b/src/ephy-shell.c @@ -257,15 +257,11 @@ ephy_shell_finalize (GObject *object) ephy_file_helpers_shutdown (); ephy_node_system_shutdown (); -#ifdef DEBUG_MARCO - g_print ("Ephy shell finalized\n"); -#endif + LOG ("Ephy shell finalized") bonobo_main_quit (); -#ifdef DEBUG_MARCO - g_print ("Bonobo quit done\n"); -#endif + LOG ("Bonobo quit done") } EphyShell * diff --git a/src/ephy-tab.c b/src/ephy-tab.c index 6430f025a..6a0201d30 100644 --- a/src/ephy-tab.c +++ b/src/ephy-tab.c @@ -20,17 +20,13 @@ #include "config.h" #endif -#define DEBUG_MSG(x) g_print x -//#define DEBUG_MSG(x) - -#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC); - #include "ephy-tab.h" #include "ephy-shell.h" #include "ephy-embed-popup-bw.h" #include "eel-gconf-extensions.h" #include "ephy-prefs.h" #include "ephy-embed-prefs.h" +#include "ephy-debug.h" #include <bonobo/bonobo-i18n.h> #include <libgnomevfs/gnome-vfs-uri.h> @@ -182,9 +178,7 @@ ephy_tab_parent_set_cb (GtkWidget *widget, GtkWidget *previous_parent, static void ephy_tab_embed_destroy_cb (GtkWidget *widget, EphyTab *tab) { -#ifdef DEBUG_MARCO - g_print ("GtkMozEmbed destroy signal on EphyTab\n"); -#endif + LOG ("GtkMozEmbed destroy signal on EphyTab") g_object_unref (tab); } @@ -290,9 +284,7 @@ ephy_tab_finalize (GObject *object) G_OBJECT_CLASS (parent_class)->finalize (object); -#ifdef DEBUG_MARCO - g_print ("EphyTab finalized %p\n", tab); -#endif + LOG ("EphyTab finalized %p", tab) } /* Public functions */ diff --git a/src/ephy-tbi.c b/src/ephy-tbi.c index 0c6e04f9b..4a8993c46 100644 --- a/src/ephy-tbi.c +++ b/src/ephy-tbi.c @@ -20,16 +20,14 @@ #include "config.h" #endif -#include <libgnome/gnome-i18n.h> #include "ephy-gobject-misc.h" #include "ephy-marshal.h" #include "ephy-bonobo-extensions.h" #include "ephy-tbi.h" -#include <string.h> +#include "ephy-debug.h" -#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC); -//#define DEBUG_MSG(x) g_print x -#define DEBUG_MSG(x) +#include <string.h> +#include <libgnome/gnome-i18n.h> /** * Private data @@ -100,7 +98,7 @@ ephy_tbi_finalize_impl (GObject *o) (gpointer *) &it->window); } - DEBUG_MSG (("EphyTbi finalized\n")); + LOG ("EphyTbi finalized") G_OBJECT_CLASS (ephy_tb_item_class)->finalize (o); } diff --git a/src/ephy-window.c b/src/ephy-window.c index 9f751ea8b..4fd766faa 100644 --- a/src/ephy-window.c +++ b/src/ephy-window.c @@ -36,6 +36,7 @@ #include "eel-gconf-extensions.h" #include "ephy-prefs.h" #include "ephy-embed-utils.h" +#include "ephy-debug.h" #include <string.h> #include <bonobo/bonobo-window.h> @@ -595,9 +596,7 @@ ephy_window_finalize (GObject *object) G_OBJECT_CLASS (parent_class)->finalize (object); -#ifdef DEBUG_MARCO - g_print ("Ephy Window finalized %p\n", window); -#endif + LOG ("Ephy Window finalized %p", window) g_object_unref (ephy_shell); } diff --git a/src/toolbar.c b/src/toolbar.c index 695f657da..27c2606f2 100755 --- a/src/toolbar.c +++ b/src/toolbar.c @@ -17,10 +17,6 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -//#define DEBUG_MSG(x) g_print x -#define DEBUG_MSG(x) -#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC); - #include "toolbar.h" #include "ephy-spinner.h" #include "ephy-window.h" @@ -35,6 +31,7 @@ #include "ephy-prefs.h" #include "eel-gconf-extensions.h" #include "ephy-navigation-button.h" +#include "ephy-debug.h" #include <string.h> #include <bonobo/bonobo-i18n.h> @@ -362,7 +359,7 @@ toolbar_get_widgets (Toolbar *t) const gchar *nav_buttons_ids[] = {"back", "back_menu", "up", "up_menu", "forward", "forward_menu" }; guint i; - DEBUG_MSG (("in toolbar_get_widgets\n")); + LOG ("in toolbar_get_widgets"); g_return_if_fail (IS_TOOLBAR (t)); p = t->priv; @@ -417,7 +414,7 @@ toolbar_get_widgets (Toolbar *t) { if (EPHY_IS_NAVIGATION_BUTTON (it)) { - DEBUG_MSG ((" got a navigation button\n")); + LOG ("got a navigation button") p->navigation_buttons = g_slist_prepend (p->navigation_buttons, g_object_ref (it)); if (p->window) { @@ -439,7 +436,7 @@ toolbar_get_widgets (Toolbar *t) g_object_ref (p->location_entry); toolbar_setup_location_entry (t, p->location_entry); - DEBUG_MSG ((" got a location entry\n")); + LOG ("got a location entry") } it = ephy_toolbar_get_item_by_id (gt, "favicon"); @@ -449,7 +446,7 @@ toolbar_get_widgets (Toolbar *t) g_object_ref (p->favicon_ebox); toolbar_setup_favicon_ebox (t, p->favicon_ebox); - DEBUG_MSG ((" got a favicon ebox\n")); + LOG ("got a favicon ebox") } it = ephy_toolbar_get_item_by_id (gt, "spinner"); @@ -459,7 +456,7 @@ toolbar_get_widgets (Toolbar *t) g_object_ref (p->spinner); toolbar_setup_spinner (t, p->spinner); - DEBUG_MSG ((" got a spinner\n")); + LOG ("got a spinner") } it = ephy_toolbar_get_item_by_id (gt, "zoom"); @@ -469,7 +466,7 @@ toolbar_get_widgets (Toolbar *t) g_object_ref (p->zoom_spinbutton); toolbar_setup_zoom_spinbutton (t, p->zoom_spinbutton); - DEBUG_MSG ((" got a zoom control\n")); + LOG ("got a zoom control") } /* update the controls */ |