From: Ben Hutchings Date: Thu, 15 Dec 2005 00:48:06 +0000 (+0000) Subject: Added debugging of state changes so I can work out what goes wrong with it. X-Git-Tag: 0.5~3 X-Git-Url: https://git.decadent.org.uk/gitweb/?a=commitdiff_plain;h=e8e58cc644b3df580cece15eecd2524329c43405;p=videolink.git Added debugging of state changes so I can work out what goes wrong with it. --- diff --git a/webdvd.cpp b/webdvd.cpp index cf71bb6..ceefb78 100644 --- a/webdvd.cpp +++ b/webdvd.cpp @@ -244,6 +244,45 @@ namespace void WebDvdWindow::on_net_state_change(const char * uri, gint flags, guint status) { +# ifdef DEBUG_ON_NET_STATE_CHANGE + std::cout << "WebDvdWindow::on_net_state_change("; + if (uri) + std::cout << '"' << uri << '"'; + else + std::cout << "NULL"; + std::cout << ", "; + { + gint flags_left = flags; + static const struct { + gint value; + const char * name; + } flag_names[] = { + { GTK_MOZ_EMBED_FLAG_START, "STATE_START" }, + { GTK_MOZ_EMBED_FLAG_REDIRECTING, "STATE_REDIRECTING" }, + { GTK_MOZ_EMBED_FLAG_TRANSFERRING, "STATE_TRANSFERRING" }, + { GTK_MOZ_EMBED_FLAG_NEGOTIATING, "STATE_NEGOTIATING" }, + { GTK_MOZ_EMBED_FLAG_STOP, "STATE_STOP" }, + { GTK_MOZ_EMBED_FLAG_IS_REQUEST, "STATE_IS_REQUEST" }, + { GTK_MOZ_EMBED_FLAG_IS_DOCUMENT, "STATE_IS_DOCUMENT" }, + { GTK_MOZ_EMBED_FLAG_IS_NETWORK, "STATE_IS_NETWORK" }, + { GTK_MOZ_EMBED_FLAG_IS_WINDOW, "STATE_IS_WINDOW" } + }; + for (int i = 0; i != sizeof(flag_names)/sizeof(flag_names[0]); ++i) + { + if (flags & flag_names[i].value) + { + std::cout << flag_names[i].name; + flags_left -= flag_names[i].value; + if (flags_left) + std::cout << " | "; + } + } + if (flags_left) + std::cout << "0x" << std::setbase(16) << flags_left; + } + std::cout << ", " << "0x" << std::setbase(16) << status << ")\n"; +# endif // DEBUG_ON_NET_STATE_CHANGE + if (flags & GTK_MOZ_EMBED_FLAG_IS_REQUEST) { if (flags & GTK_MOZ_EMBED_FLAG_START)