From 4af19c56cf90e31a0d800821e8daf7fb08108e94 Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Mon, 26 Nov 2012 10:33:19 +0000 Subject: Drop support for GTK+ < 2.24 Fixed bugs: - https://launchpad.net/bugs/1069024 (bzr r11907) --- src/ui/dialog/ocaldialogs.cpp | 4 ---- 1 file changed, 4 deletions(-) (limited to 'src/ui/dialog/ocaldialogs.cpp') diff --git a/src/ui/dialog/ocaldialogs.cpp b/src/ui/dialog/ocaldialogs.cpp index bb06e3e79..174f361fd 100644 --- a/src/ui/dialog/ocaldialogs.cpp +++ b/src/ui/dialog/ocaldialogs.cpp @@ -963,11 +963,7 @@ void SearchResultList::populate_from_xml(xmlNode * a_node) { if (!strcmp((const char*)cur_node->name, "title")) { -#if WITH_GTKMM_2_24 row_num = append(""); -#else - row_num = append_text(""); -#endif xmlChar *xml_title = xmlNodeGetContent(cur_node); char* title = (char*) xml_title; -- cgit v1.2.3 From bc29141167ff3df4b92d85edae209d3fb9ffab93 Mon Sep 17 00:00:00 2001 From: "Johan B. C. Engelen" Date: Wed, 5 Dec 2012 23:39:22 +0100 Subject: - fix security bug lp:1025185 - make network access optional for XML loading Fixed bugs: - https://launchpad.net/bugs/1025185 (bzr r11931) --- src/ui/dialog/ocaldialogs.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/ui/dialog/ocaldialogs.cpp') diff --git a/src/ui/dialog/ocaldialogs.cpp b/src/ui/dialog/ocaldialogs.cpp index 174f361fd..c7bff185c 100644 --- a/src/ui/dialog/ocaldialogs.cpp +++ b/src/ui/dialog/ocaldialogs.cpp @@ -1112,8 +1112,14 @@ void ImportDialog::on_xml_file_read(const Glib::RefPtr& result xmlDoc *doc = NULL; xmlNode *root_element = NULL; - doc = xmlReadMemory(data, (int) length, xml_uri.c_str(), NULL, - XML_PARSE_RECOVER + XML_PARSE_NOWARNING + XML_PARSE_NOERROR); + int parse_options = XML_PARSE_RECOVER + XML_PARSE_NOWARNING + XML_PARSE_NOERROR; // do not use XML_PARSE_NOENT ! see bug lp:1025185 + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + bool allowNetAccess = prefs->getBool("/options/externalresources/xml/allow_net_access", false); + if (!allowNetAccess) { + parse_options |= XML_PARSE_NONET; + } + + doc = xmlReadMemory(data, (int) length, xml_uri.c_str(), NULL, parse_options); if (doc == NULL) { // If nothing is returned, no results could be found -- cgit v1.2.3 From a788114b417fec4eb9fe7645dd66f128db7ef9fc Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Sun, 16 Dec 2012 13:20:25 +0000 Subject: GTK+ 3: Switch to more orientable widgets (bzr r11960) --- src/ui/dialog/ocaldialogs.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/ui/dialog/ocaldialogs.cpp') diff --git a/src/ui/dialog/ocaldialogs.cpp b/src/ui/dialog/ocaldialogs.cpp index c7bff185c..8f5f2ed22 100644 --- a/src/ui/dialog/ocaldialogs.cpp +++ b/src/ui/dialog/ocaldialogs.cpp @@ -1196,7 +1196,13 @@ ImportDialog::ImportDialog(Gtk::Window& parent_window, FileDialogType file_types // Creation Gtk::VBox *vbox = new Gtk::VBox(false, 0); + +#if WITH_GTKMM_3_0 + Gtk::ButtonBox *hbuttonbox_bottom = new Gtk::ButtonBox(); +#else Gtk::HButtonBox *hbuttonbox_bottom = new Gtk::HButtonBox(); +#endif + Gtk::HBox *hbox_bottom = new Gtk::HBox(false, 12); BaseBox *basebox_logo = new BaseBox(); BaseBox *basebox_no_search_results = new BaseBox(); @@ -1204,7 +1210,13 @@ ImportDialog::ImportDialog(Gtk::Window& parent_window, FileDialogType file_types label_description = new Gtk::Label(); entry_search = new SearchEntry(); button_search = new Gtk::Button(_("Search")); + +#if WITH_GTKMM_3_0 + Gtk::ButtonBox* hbuttonbox_search = new Gtk::ButtonBox(); +#else Gtk::HButtonBox* hbuttonbox_search = new Gtk::HButtonBox(); +#endif + Gtk::ScrolledWindow* scrolledwindow_preview = new Gtk::ScrolledWindow(); preview_files = new PreviewWidget(); /// Add the buttons in the bottom of the dialog -- cgit v1.2.3 From 8ee9827502fadcae0b02fec434799e94ee115357 Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Tue, 25 Dec 2012 22:50:08 +0000 Subject: Convert a load more C-style pointer casts to GObject or C++ casts (merry christmas\!) (bzr r11986) --- src/ui/dialog/ocaldialogs.cpp | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) (limited to 'src/ui/dialog/ocaldialogs.cpp') diff --git a/src/ui/dialog/ocaldialogs.cpp b/src/ui/dialog/ocaldialogs.cpp index 8f5f2ed22..82bc85099 100644 --- a/src/ui/dialog/ocaldialogs.cpp +++ b/src/ui/dialog/ocaldialogs.cpp @@ -139,7 +139,7 @@ bool ExportDialog::show() { set_modal (TRUE); //Window - sp_transientize((GtkWidget *)gobj()); //Make transient + sp_transientize(GTK_WIDGET(gobj())); //Make transient gint b = run(); //Dialog hide(); @@ -244,7 +244,7 @@ bool ExportPasswordDialog::show() { set_modal (TRUE); //Window - sp_transientize((GtkWidget *)gobj()); //Make transient + sp_transientize(GTK_WIDGET(gobj())); //Make transient gint b = run(); //Dialog hide(); @@ -957,40 +957,40 @@ void SearchResultList::populate_from_xml(xmlNode * a_node) for (xmlNode *cur_node = a_node; cur_node; cur_node = cur_node->next) { // Get items information - if (strcmp((const char*)cur_node->name, "rss")) // Avoid the root + if (strcmp(reinterpret_cast(cur_node->name), "rss")) // Avoid the root if (cur_node->type == XML_ELEMENT_NODE && - (cur_node->parent->name && !strcmp((const char*)cur_node->parent->name, "item"))) + (cur_node->parent->name && !strcmp(reinterpret_cast(cur_node->parent->name), "item"))) { - if (!strcmp((const char*)cur_node->name, "title")) + if (!strcmp(reinterpret_cast(cur_node->name), "title")) { row_num = append(""); xmlChar *xml_title = xmlNodeGetContent(cur_node); - char* title = (char*) xml_title; + char* title = reinterpret_cast(xml_title); set_text(row_num, RESULTS_COLUMN_TITLE, title); xmlFree(title); } - else if (!strcmp((const char*)cur_node->name, "pubDate")) + else if (!strcmp(reinterpret_cast(cur_node->name), "pubDate")) { xmlChar *xml_date = xmlNodeGetContent(cur_node); - char* date = (char*) xml_date; + char* date = reinterpret_cast(xml_date); set_text(row_num, RESULTS_COLUMN_DATE, date); xmlFree(xml_date); } - else if (!strcmp((const char*)cur_node->name, "creator")) + else if (!strcmp(reinterpret_cast(cur_node->name), "creator")) { xmlChar *xml_creator = xmlNodeGetContent(cur_node); - char* creator = (char*) xml_creator; + char* creator = reinterpret_cast(xml_creator); set_text(row_num, RESULTS_COLUMN_CREATOR, creator); xmlFree(xml_creator); } - else if (!strcmp((const char*)cur_node->name, "description")) + else if (!strcmp(reinterpret_cast(cur_node->name), "description")) { xmlChar *xml_description = xmlNodeGetContent(cur_node); //char* final_description; - char* stripped_description = g_strstrip((char*) xml_description); + char* stripped_description = g_strstrip(reinterpret_cast(xml_description)); if (!strcmp(stripped_description, "")) { stripped_description = _("No description"); @@ -1002,30 +1002,30 @@ void SearchResultList::populate_from_xml(xmlNode * a_node) set_text(row_num, RESULTS_COLUMN_DESCRIPTION, stripped_description); xmlFree(xml_description); } - else if (!strcmp((const char*)cur_node->name, "enclosure")) + else if (!strcmp(reinterpret_cast(cur_node->name), "enclosure")) { - xmlChar *xml_url = xmlGetProp(cur_node, (xmlChar*) "url"); - char* url = (char*) xml_url; + xmlChar *xml_url = xmlGetProp(cur_node, reinterpret_cast(g_strdup("url"))); + char* url = reinterpret_cast(xml_url); char* filename = g_path_get_basename(url); set_text(row_num, RESULTS_COLUMN_URL, url); set_text(row_num, RESULTS_COLUMN_FILENAME, filename); xmlFree(xml_url); } - else if (!strcmp((const char*)cur_node->name, "thumbnail")) + else if (!strcmp(reinterpret_cast(cur_node->name), "thumbnail")) { - xmlChar *xml_thumbnail_url = xmlGetProp(cur_node, (xmlChar*) "url"); - char* thumbnail_url = (char*) xml_thumbnail_url; + xmlChar *xml_thumbnail_url = xmlGetProp(cur_node, reinterpret_cast(g_strdup("url"))); + char* thumbnail_url = reinterpret_cast(xml_thumbnail_url); char* thumbnail_filename = g_path_get_basename(thumbnail_url); set_text(row_num, RESULTS_COLUMN_THUMBNAIL_URL, thumbnail_url); set_text(row_num, RESULTS_COLUMN_THUMBNAIL_FILENAME, thumbnail_filename); xmlFree(xml_thumbnail_url); } - else if (!strcmp((const char*)cur_node->name, "guid")) + else if (!strcmp(reinterpret_cast(cur_node->name), "guid")) { xmlChar *xml_guid = xmlNodeGetContent(cur_node); - char* guid_url = (char*) xml_guid; + char* guid_url = reinterpret_cast(xml_guid); char* guid = g_path_get_basename(guid_url); set_text(row_num, RESULTS_COLUMN_GUID, guid); -- cgit v1.2.3 From f3ebae385211512a9cbd727b5aa532f6aa1b711b Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Fri, 4 Jan 2013 09:35:53 +0000 Subject: ocaldialog: Use GtkSearchEntry in Gtk+ >= 3.6 (bzr r12008) --- src/ui/dialog/ocaldialogs.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/ui/dialog/ocaldialogs.cpp') diff --git a/src/ui/dialog/ocaldialogs.cpp b/src/ui/dialog/ocaldialogs.cpp index 82bc85099..75c766566 100644 --- a/src/ui/dialog/ocaldialogs.cpp +++ b/src/ui/dialog/ocaldialogs.cpp @@ -561,6 +561,7 @@ void StatusWidget::end_process() clear(); } +#if !GTK_CHECK_VERSION(3,6,0) SearchEntry::SearchEntry() : Gtk::Entry() { signal_changed().connect(sigc::mem_fun(*this, &SearchEntry::_on_changed)); @@ -589,6 +590,8 @@ void SearchEntry::_on_changed() set_icon_from_stock(Gtk::Stock::CLEAR, Gtk::ENTRY_ICON_SECONDARY); } } +#endif + BaseBox::BaseBox() : Gtk::EventBox() { @@ -1208,7 +1211,13 @@ ImportDialog::ImportDialog(Gtk::Window& parent_window, FileDialogType file_types BaseBox *basebox_no_search_results = new BaseBox(); label_not_found = new Gtk::Label(); label_description = new Gtk::Label(); + +#if GTK_CHECK_VERSION(3,6,0) + entry_search = new Gtk::SearchEntry(); +#else entry_search = new SearchEntry(); +#endif + button_search = new Gtk::Button(_("Search")); #if WITH_GTKMM_3_0 -- cgit v1.2.3 From cfe9c94712a2ff6849b123672e51b603f20e76ae Mon Sep 17 00:00:00 2001 From: "Jon A. Cruz" Date: Thu, 10 Jan 2013 23:30:09 -0800 Subject: Warning and dead code cleanup. (bzr r12014) --- src/ui/dialog/ocaldialogs.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/ui/dialog/ocaldialogs.cpp') diff --git a/src/ui/dialog/ocaldialogs.cpp b/src/ui/dialog/ocaldialogs.cpp index 75c766566..09ce59e9c 100644 --- a/src/ui/dialog/ocaldialogs.cpp +++ b/src/ui/dialog/ocaldialogs.cpp @@ -324,7 +324,11 @@ bool LoadingBox::_on_expose_event(GdkEventExpose* /*event*/) } #endif -bool LoadingBox::_on_draw(const Cairo::RefPtr& cr) +bool LoadingBox::_on_draw(const Cairo::RefPtr & +#if WITH_GTKMM_3_0 +cr +#endif +) { // Draw shadow int x = get_allocation().get_x(); -- cgit v1.2.3 From d2bba282171a9e2c70a624794650689ec4531047 Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Tue, 26 Mar 2013 16:03:49 +0000 Subject: Fix Glibmm inclusions for Gtk+ 3 builds and implement a Gtk+ 3 compatible check for X11 backend Fixed bugs: - https://launchpad.net/bugs/1160252 - https://launchpad.net/bugs/1122774 (bzr r12247) --- src/ui/dialog/ocaldialogs.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/ui/dialog/ocaldialogs.cpp') diff --git a/src/ui/dialog/ocaldialogs.cpp b/src/ui/dialog/ocaldialogs.cpp index 09ce59e9c..c597bc849 100644 --- a/src/ui/dialog/ocaldialogs.cpp +++ b/src/ui/dialog/ocaldialogs.cpp @@ -33,10 +33,16 @@ #include #include #include -#include #include #include +#include +#include +#include +#include +#include +#include + namespace Inkscape { namespace UI -- cgit v1.2.3