Merge branch '2.2.3' into dev_upgrade_alves

This commit is contained in:
alves
2026-01-16 10:54:16 +08:00
22 changed files with 248 additions and 169 deletions
+3 -2
View File
@@ -46,9 +46,10 @@ You can do this in Environment Variables settings.
endif () endif ()
if (APPLE) if (APPLE)
# if CMAKE_OSX_DEPLOYMENT_TARGET is not set, set it to 11.3 # Require macOS 12.0+ (Monterey) as minimum version
# This ensures proper "requires macOS 12.0" system dialog instead of crash on older systems
if (NOT CMAKE_OSX_DEPLOYMENT_TARGET) if (NOT CMAKE_OSX_DEPLOYMENT_TARGET)
set(CMAKE_OSX_DEPLOYMENT_TARGET "11.3" CACHE STRING "Minimum OS X deployment version" FORCE) set(CMAKE_OSX_DEPLOYMENT_TARGET "12.0" CACHE STRING "Minimum OS X deployment version" FORCE)
endif () endif ()
message(STATUS "CMAKE_OSX_DEPLOYMENT_TARGET: ${CMAKE_OSX_DEPLOYMENT_TARGET}") message(STATUS "CMAKE_OSX_DEPLOYMENT_TARGET: ${CMAKE_OSX_DEPLOYMENT_TARGET}")
endif () endif ()
+1 -1
View File
@@ -82,7 +82,7 @@ if [ -z "$DEPS_CMAKE_GENERATOR" ]; then
fi fi
if [ -z "$OSX_DEPLOYMENT_TARGET" ]; then if [ -z "$OSX_DEPLOYMENT_TARGET" ]; then
export OSX_DEPLOYMENT_TARGET="11.3" export OSX_DEPLOYMENT_TARGET="12.0"
fi fi
echo "Build params:" echo "Build params:"
+3 -2
View File
@@ -22,9 +22,10 @@
cmake_minimum_required(VERSION 3.2) cmake_minimum_required(VERSION 3.2)
if (APPLE) if (APPLE)
# if CMAKE_OSX_DEPLOYMENT_TARGET is not set, set it to 11.3 # Require macOS 12.0+ (Monterey) as minimum version
# All deps must use the same deployment target for consistent behavior
if (NOT CMAKE_OSX_DEPLOYMENT_TARGET) if (NOT CMAKE_OSX_DEPLOYMENT_TARGET)
set(CMAKE_OSX_DEPLOYMENT_TARGET "11.3" CACHE STRING "Minimum OS X deployment version" FORCE) set(CMAKE_OSX_DEPLOYMENT_TARGET "12.0" CACHE STRING "Minimum OS X deployment version" FORCE)
endif () endif ()
message(STATUS "CMAKE_OSX_DEPLOYMENT_TARGET: ${CMAKE_OSX_DEPLOYMENT_TARGET}") message(STATUS "CMAKE_OSX_DEPLOYMENT_TARGET: ${CMAKE_OSX_DEPLOYMENT_TARGET}")
+1 -1
View File
@@ -125,7 +125,7 @@
</dict> </dict>
</array> </array>
<key>LSMinimumSystemVersion</key> <key>LSMinimumSystemVersion</key>
<string>10.10</string> <string>12.0</string>
<key>NSPrincipalClass</key> <key>NSPrincipalClass</key>
<string>NSApplication</string> <string>NSApplication</string>
<key>NSHighResolutionCapable</key> <key>NSHighResolutionCapable</key>
+1 -1
View File
@@ -846,7 +846,7 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, co
apply(config, &new_conf); apply(config, &new_conf);
} }
toggle_line("overhang_reverse_threshold", has_detect_overhang_wall && allow_overhang_reverse && has_overhang_reverse && !has_overhang_reverse_internal_only); toggle_line("overhang_reverse_threshold", has_detect_overhang_wall && allow_overhang_reverse && has_overhang_reverse && !has_overhang_reverse_internal_only);
toggle_line("timelapse_type", is_BBL_Printer); toggle_line("timelapse_type", true);
bool have_small_area_infill_flow_compensation = config->opt_bool("small_area_infill_flow_compensation"); bool have_small_area_infill_flow_compensation = config->opt_bool("small_area_infill_flow_compensation");
+26 -4
View File
@@ -4043,13 +4043,18 @@ wxString GUI_App::get_international_url(const wxString& origin_url) {
string dark_mode = wxGetApp().app_config->get("dark_color_mode"); string dark_mode = wxGetApp().app_config->get("dark_color_mode");
auto isAgree = wxGetApp().app_config->get("app", "privacy_policy_isagree");
std::string useAgree = (isAgree == "true" ? "1" : "0");
if (baseUrl.find("?") != std::string::npos) { if (baseUrl.find("?") != std::string::npos) {
return baseUrl + wxString::FromUTF8("&locale=") + lang + wxString::FromUTF8("-") + region + return baseUrl + wxString::FromUTF8("&locale=") + lang + wxString::FromUTF8("-") + region +
wxString::FromUTF8("&dark_mode=" + dark_mode); wxString::FromUTF8("&dark_mode=" + dark_mode) + wxString::FromUTF8("&privacy_policy_isagree=" + useAgree);
} else { } else {
return baseUrl + wxString::FromUTF8("?locale=") + lang + wxString::FromUTF8("-") + region + return baseUrl + wxString::FromUTF8("?locale=") + lang + wxString::FromUTF8("-") + region +
wxString::FromUTF8("&dark_mode=" + dark_mode); wxString::FromUTF8("&dark_mode=" + dark_mode) + wxString::FromUTF8("&privacy_policy_isagree=" + useAgree);
} }
} }
bool GUI_App::is_user_login() bool GUI_App::is_user_login()
@@ -6713,7 +6718,7 @@ bool GUI_App::run_wizard(ConfigWizard::RunReason reason, ConfigWizard::StartPage
} }
auto isAgree = wxGetApp().app_config->get("app", "privacy_policy_isagree"); auto isAgree = wxGetApp().app_config->get("app", "privacy_policy_isagree");
set_privacy_policy(isAgree == "true"); user_update_privacy_notify(isAgree == "true");
BOOST_LOG_TRIVIAL(warning) << "run_wizard changed the privacy policy with: " << (isAgree); BOOST_LOG_TRIVIAL(warning) << "run_wizard changed the privacy policy with: " << (isAgree);
return res; return res;
} }
@@ -6918,6 +6923,23 @@ void GUI_App::cache_notify(const std::string& key, const json& res)
} }
} }
void GUI_App::user_update_privacy_notify(const bool& res)
{
set_privacy_policy(res);
json data;
data["privacy_policy_isagree"] = res;
for (const auto& instance : m_user_update_privacy_subscribers) {
auto ptr = instance.second.lock();
if (ptr) {
ptr->m_res_data = data;
ptr->send_to_js();
}
}
}
void GUI_App::user_login_notify(const json& res) void GUI_App::user_login_notify(const json& res)
{ {
@@ -6933,7 +6955,7 @@ void GUI_App::user_login_notify(const json& res)
bool GUI_App::config_wizard_startup() bool GUI_App::config_wizard_startup()
{ {
auto isAgree = wxGetApp().app_config->get("app", "privacy_policy_isagree"); auto isAgree = wxGetApp().app_config->get("app", "privacy_policy_isagree");
set_privacy_policy(isAgree == "true"); user_update_privacy_notify(isAgree == "true");
BOOST_LOG_TRIVIAL(warning) << "config_wizard_startup changed the privacy policy with: " << (isAgree); BOOST_LOG_TRIVIAL(warning) << "config_wizard_startup changed the privacy policy with: " << (isAgree);
if (!m_app_conf_exists || preset_bundle->printers.only_default_printers()) { if (!m_app_conf_exists || preset_bundle->printers.only_default_printers()) {
BOOST_LOG_TRIVIAL(info) << "run wizard..."; BOOST_LOG_TRIVIAL(info) << "run wizard...";
+2 -2
View File
@@ -822,7 +822,7 @@ public:
std::unordered_map<void*, std::weak_ptr<SSWCP_Instance>> m_user_login_subscribers; std::unordered_map<void*, std::weak_ptr<SSWCP_Instance>> m_user_login_subscribers;
std::unordered_map<void*, std::weak_ptr<SSWCP_Instance>> m_device_card_subscribers; std::unordered_map<void*, std::weak_ptr<SSWCP_Instance>> m_device_card_subscribers;
std::unordered_map<void*, std::weak_ptr<SSWCP_Instance>> m_page_state_subscribers; std::unordered_map<void*, std::weak_ptr<SSWCP_Instance>> m_page_state_subscribers;
std::unordered_map<void*, std::weak_ptr<SSWCP_Instance>> m_user_update_privacy_subscribers;
struct CachePairCompare struct CachePairCompare
{ {
bool operator()(const std::pair<void*, std::weak_ptr<SSWCP_Instance>>& lhs, bool operator()(const std::pair<void*, std::weak_ptr<SSWCP_Instance>>& lhs,
@@ -838,7 +838,7 @@ public:
void device_card_notify(const json& res); void device_card_notify(const json& res);
void page_state_notify_webview(wxWebView* webview, const std::string& state); void page_state_notify_webview(wxWebView* webview, const std::string& state);
void cache_notify(const std::string& key, const json& res); void cache_notify(const std::string& key, const json& res);
void user_update_privacy_notify(const bool& res);
public: public:
bool sm_disconnect_current_machine(bool need_reload_printerview = true); bool sm_disconnect_current_machine(bool need_reload_printerview = true);
+14
View File
@@ -8,6 +8,7 @@
#include "I18N.hpp" #include "I18N.hpp"
#include <wx/display.h> #include <wx/display.h>
#include "sentry_wrapper/SentryWrapper.hpp"
namespace fs = boost::filesystem; namespace fs = boost::filesystem;
@@ -268,6 +269,19 @@ void MarkdownTip::OnTitleChanged(wxWebViewEvent& event)
} }
void MarkdownTip::OnError(wxWebViewEvent& event) void MarkdownTip::OnError(wxWebViewEvent& event)
{ {
auto e = "unknown error";
switch (event.GetInt()) {
case wxWEBVIEW_NAV_ERR_CONNECTION: e = "wxWEBVIEW_NAV_ERR_CONNECTION"; break;
case wxWEBVIEW_NAV_ERR_CERTIFICATE: e = "wxWEBVIEW_NAV_ERR_CERTIFICATE"; break;
case wxWEBVIEW_NAV_ERR_AUTH: e = "wxWEBVIEW_NAV_ERR_AUTH"; break;
case wxWEBVIEW_NAV_ERR_SECURITY: e = "wxWEBVIEW_NAV_ERR_SECURITY"; break;
case wxWEBVIEW_NAV_ERR_NOT_FOUND: e = "wxWEBVIEW_NAV_ERR_NOT_FOUND"; break;
case wxWEBVIEW_NAV_ERR_REQUEST: e = "wxWEBVIEW_NAV_ERR_REQUEST"; break;
case wxWEBVIEW_NAV_ERR_USER_CANCELLED: e = "wxWEBVIEW_NAV_ERR_USER_CANCELLED"; break;
case wxWEBVIEW_NAV_ERR_OTHER: e = "wxWEBVIEW_NAV_ERR_OTHER"; break;
}
BOOST_LOG_TRIVIAL(fatal) << __FUNCTION__<< boost::format(":MarkdownTip error loading page %1% %2% %3% %4%") % event.GetURL() % event.GetTarget() %e % event.GetString();
Slic3r::sentryReportLog(Slic3r::SENTRY_LOG_FATAL, "bury_point_init MarkdownTip webview fail", BP_WEB_VIEW);
} }
void MarkdownTip::OnTimer(wxTimerEvent& event) void MarkdownTip::OnTimer(wxTimerEvent& event)
+1 -1
View File
@@ -752,7 +752,7 @@ wxBoxSizer *PreferencesDialog::create_item_checkbox(wxString title, wxWindow *pa
{ {
app_config->set("app", "privacy_policy_isagree", checkbox->GetValue()); app_config->set("app", "privacy_policy_isagree", checkbox->GetValue());
BOOST_LOG_TRIVIAL(warning) <<"create_item_checkbox changed the privacy policy with: "<<(checkbox->GetValue()?"true" : "false"); BOOST_LOG_TRIVIAL(warning) <<"create_item_checkbox changed the privacy policy with: "<<(checkbox->GetValue()?"true" : "false");
set_privacy_policy(checkbox->GetValue()); wxGetApp().user_update_privacy_notify(checkbox->GetValue());
} }
// if (param == "staff_pick_switch") { // if (param == "staff_pick_switch") {
// bool pbool = app_config->get("staff_pick_switch") == "true"; // bool pbool = app_config->get("staff_pick_switch") == "true";
+3 -1
View File
@@ -15,6 +15,7 @@
#include <slic3r/GUI/Widgets/WebView.hpp> #include <slic3r/GUI/Widgets/WebView.hpp>
#include <wx/webview.h> #include <wx/webview.h>
#include "slic3r/GUI/SSWCP.hpp" #include "slic3r/GUI/SSWCP.hpp"
#include "sentry_wrapper/SentryWrapper.hpp"
namespace pt = boost::property_tree; namespace pt = boost::property_tree;
@@ -183,7 +184,8 @@ void PrinterWebView::OnError(wxWebViewEvent &evt)
e = "wxWEBVIEW_NAV_ERR_OTHER"; e = "wxWEBVIEW_NAV_ERR_OTHER";
break; break;
} }
BOOST_LOG_TRIVIAL(info) << __FUNCTION__<< boost::format(": error loading page %1% %2% %3% %4%") %evt.GetURL() %evt.GetTarget() %e %evt.GetString(); BOOST_LOG_TRIVIAL(fatal) << __FUNCTION__<< boost::format(":PrinterWebView error loading page %1% %2% %3% %4%") %evt.GetURL() %evt.GetTarget() %e %evt.GetString();
Slic3r::sentryReportLog(Slic3r::SENTRY_LOG_FATAL, "bury_point_init PrinterWebView webview fail", BP_WEB_VIEW);
} }
void PrinterWebView::OnLoaded(wxWebViewEvent &evt) void PrinterWebView::OnLoaded(wxWebViewEvent &evt)
+14
View File
@@ -24,6 +24,7 @@
#include "Plater.hpp" #include "Plater.hpp"
#include "BitmapCache.hpp" #include "BitmapCache.hpp"
#include "slic3r/GUI/GUI_App.hpp" #include "slic3r/GUI/GUI_App.hpp"
#include "sentry_wrapper/SentryWrapper.hpp"
namespace Slic3r { namespace GUI { namespace Slic3r { namespace GUI {
@@ -445,6 +446,19 @@ void UpdateVersionDialog::OnTitleChanged(wxWebViewEvent& event)
} }
void UpdateVersionDialog::OnError(wxWebViewEvent& event) void UpdateVersionDialog::OnError(wxWebViewEvent& event)
{ {
auto e = "unknown error";
switch (event.GetInt()) {
case wxWEBVIEW_NAV_ERR_CONNECTION: e = "wxWEBVIEW_NAV_ERR_CONNECTION"; break;
case wxWEBVIEW_NAV_ERR_CERTIFICATE: e = "wxWEBVIEW_NAV_ERR_CERTIFICATE"; break;
case wxWEBVIEW_NAV_ERR_AUTH: e = "wxWEBVIEW_NAV_ERR_AUTH"; break;
case wxWEBVIEW_NAV_ERR_SECURITY: e = "wxWEBVIEW_NAV_ERR_SECURITY"; break;
case wxWEBVIEW_NAV_ERR_NOT_FOUND: e = "wxWEBVIEW_NAV_ERR_NOT_FOUND"; break;
case wxWEBVIEW_NAV_ERR_REQUEST: e = "wxWEBVIEW_NAV_ERR_REQUEST"; break;
case wxWEBVIEW_NAV_ERR_USER_CANCELLED: e = "wxWEBVIEW_NAV_ERR_USER_CANCELLED"; break;
case wxWEBVIEW_NAV_ERR_OTHER: e = "wxWEBVIEW_NAV_ERR_OTHER"; break;
}
BOOST_LOG_TRIVIAL(fatal) << __FUNCTION__<< boost::format(":UpdateVersionDialog error loading page %1% %2% %3% %4%") % event.GetURL() % event.GetTarget() %e %event.GetString();
Slic3r::sentryReportLog(Slic3r::SENTRY_LOG_FATAL, "bury_point_init UpdateVersionDialog webview fail", BP_WEB_VIEW);
event.Skip(); event.Skip();
} }
+57 -1
View File
@@ -1175,6 +1175,7 @@ void SSWCP_Instance::sw_UnsubscribeAll() {
wxGetApp().m_recent_file_subscribers.clear(); wxGetApp().m_recent_file_subscribers.clear();
wxGetApp().m_user_login_subscribers.clear(); wxGetApp().m_user_login_subscribers.clear();
wxGetApp().m_cache_subscribers.clear(); wxGetApp().m_cache_subscribers.clear();
wxGetApp().m_user_update_privacy_subscribers.clear();
send_to_js(); send_to_js();
finish_job(); finish_job();
@@ -1217,6 +1218,15 @@ void SSWCP_Instance::sw_Webview_Unsubscribe() {
} }
} }
auto& privacy_map = wxGetApp().m_user_update_privacy_subscribers;
for (auto iter = privacy_map.begin(); iter != privacy_map.end();) {
if (iter->first == m_webview) {
iter = privacy_map.erase(iter);
} else {
iter++;
}
}
send_to_js(); send_to_js();
finish_job(); finish_job();
} }
@@ -1233,6 +1243,7 @@ void SSWCP_Instance::sw_Unsubscribe_Filter() {
auto& device_map = wxGetApp().m_device_card_subscribers; auto& device_map = wxGetApp().m_device_card_subscribers;
auto& login_map = wxGetApp().m_user_login_subscribers; auto& login_map = wxGetApp().m_user_login_subscribers;
auto& privacy_map = wxGetApp().m_user_update_privacy_subscribers;
auto& recent_file_map = wxGetApp().m_recent_file_subscribers; auto& recent_file_map = wxGetApp().m_recent_file_subscribers;
auto& cache_map = wxGetApp().m_cache_subscribers; auto& cache_map = wxGetApp().m_cache_subscribers;
@@ -1271,6 +1282,23 @@ void SSWCP_Instance::sw_Unsubscribe_Filter() {
} }
} }
for (auto iter = privacy_map.begin(); iter != privacy_map.end();) {
if (iter->first == m_webview) {
auto ptr = iter->second.lock();
if (ptr) {
if (ptr->m_event_id == event_id) {
iter = privacy_map.erase(iter);
} else {
iter++;
}
} else {
iter = privacy_map.erase(iter);
}
} else {
iter++;
}
}
for (auto iter = recent_file_map.begin(); iter != recent_file_map.end();) { for (auto iter = recent_file_map.begin(); iter != recent_file_map.end();) {
if (iter->first == m_webview) { if (iter->first == m_webview) {
auto ptr = iter->second.lock(); auto ptr = iter->second.lock();
@@ -1339,7 +1367,26 @@ void SSWCP_Instance::sw_Unsubscribe_Filter() {
iter++; iter++;
} }
} }
} else if (cmd == "sw_SubscribeLocalDevices") { } else if (cmd == UPDATE_PRIVACY_STATUS) {
for (auto iter = privacy_map.begin(); iter != privacy_map.end();) {
if (iter->first == m_webview) {
auto ptr = iter->second.lock();
if (ptr) {
if (event_id == "" || (event_id != "" && event_id == ptr->m_event_id)) {
iter = privacy_map.erase(iter);
} else {
iter++;
}
} else {
iter = privacy_map.erase(iter);
}
} else {
iter++;
}
}
}else if (cmd == "sw_SubscribeLocalDevices") {
for (auto iter = device_map.begin(); iter != device_map.end();) { for (auto iter = device_map.begin(); iter != device_map.end();) {
if (iter->first == m_webview) { if (iter->first == m_webview) {
auto ptr = iter->second.lock(); auto ptr = iter->second.lock();
@@ -5941,6 +5988,15 @@ void SSWCP::on_webview_delete(wxWebView* view)
} }
} }
auto& privacy_map = wxGetApp().m_user_update_privacy_subscribers;
for (auto iter = privacy_map.begin(); iter != privacy_map.end();) {
if (iter->first == view) {
iter = privacy_map.erase(iter);
} else {
iter++;
}
}
auto& recent_file_map = wxGetApp().m_recent_file_subscribers; auto& recent_file_map = wxGetApp().m_recent_file_subscribers;
for (auto iter = recent_file_map.begin(); iter != recent_file_map.end();) { for (auto iter = recent_file_map.begin(); iter != recent_file_map.end();) {
if (iter->first == view) { if (iter->first == view) {
+4
View File
@@ -23,6 +23,8 @@ using namespace nlohmann;
namespace asio = boost::asio; namespace asio = boost::asio;
using tcp = asio::ip::tcp; using tcp = asio::ip::tcp;
#define UPDATE_PRIVACY_STATUS "sw_SubUserUpdatePrivacy"
namespace Slic3r { namespace GUI { namespace Slic3r { namespace GUI {
class WCP_Logger class WCP_Logger
@@ -525,6 +527,8 @@ private:
void sw_SubscribeUserLoginState(); void sw_SubscribeUserLoginState();
void sw_SubUserUpdatePrivacy();
}; };
// Instance class for homepage business // Instance class for homepage business
+14 -1
View File
@@ -5,6 +5,7 @@
#include "SSWCP.hpp" #include "SSWCP.hpp"
#include <wx/sizer.h> #include <wx/sizer.h>
#include <slic3r/GUI/Widgets/WebView.hpp> #include <slic3r/GUI/Widgets/WebView.hpp>
#include "sentry_wrapper/SentryWrapper.hpp"
namespace Slic3r { namespace GUI { namespace Slic3r { namespace GUI {
@@ -105,7 +106,19 @@ void WebDeviceDialog::OnDocumentLoaded(wxWebViewEvent &evt)
void WebDeviceDialog::OnError(wxWebViewEvent &evt) void WebDeviceDialog::OnError(wxWebViewEvent &evt)
{ {
wxLogError("Web View Error: %s", evt.GetString()); auto e = "unknown error";
switch (evt.GetInt()) {
case wxWEBVIEW_NAV_ERR_CONNECTION: e = "wxWEBVIEW_NAV_ERR_CONNECTION"; break;
case wxWEBVIEW_NAV_ERR_CERTIFICATE: e = "wxWEBVIEW_NAV_ERR_CERTIFICATE"; break;
case wxWEBVIEW_NAV_ERR_AUTH: e = "wxWEBVIEW_NAV_ERR_AUTH"; break;
case wxWEBVIEW_NAV_ERR_SECURITY: e = "wxWEBVIEW_NAV_ERR_SECURITY"; break;
case wxWEBVIEW_NAV_ERR_NOT_FOUND: e = "wxWEBVIEW_NAV_ERR_NOT_FOUND"; break;
case wxWEBVIEW_NAV_ERR_REQUEST: e = "wxWEBVIEW_NAV_ERR_REQUEST"; break;
case wxWEBVIEW_NAV_ERR_USER_CANCELLED: e = "wxWEBVIEW_NAV_ERR_USER_CANCELLED"; break;
case wxWEBVIEW_NAV_ERR_OTHER: e = "wxWEBVIEW_NAV_ERR_OTHER"; break;
}
BOOST_LOG_TRIVIAL(fatal) << __FUNCTION__<< boost::format(":WebDeviceDialog error loading page %1% %2% %3% %4%") % evt.GetURL() % evt.GetTarget() % e %evt.GetString();
Slic3r::sentryReportLog(Slic3r::SENTRY_LOG_FATAL, "bury_point_init WebDeviceDialog webview fail", BP_WEB_VIEW);
} }
void WebDeviceDialog::OnScriptMessage(wxWebViewEvent &evt) void WebDeviceDialog::OnScriptMessage(wxWebViewEvent &evt)
+1 -1
View File
@@ -29,7 +29,7 @@
#include "GUI_App.hpp" #include "GUI_App.hpp"
namespace Slic3r { namespace GUI { namespace Slic3r { namespace GUI {
//not use on snapmaker orca
class DownPluginFrame : public wxDialog class DownPluginFrame : public wxDialog
{ {
public: public:
+15 -25
View File
@@ -34,7 +34,7 @@
#include <libslic3r/Utils.hpp> #include <libslic3r/Utils.hpp>
#include "CreatePresetsDialog.hpp" #include "CreatePresetsDialog.hpp"
#include <mutex> #include <mutex>
#include "bury_cfg/bury_point.hpp" #include "sentry_wrapper/SentryWrapper.hpp"
using namespace nlohmann; using namespace nlohmann;
@@ -596,32 +596,22 @@ void GuideFrame::OnRunScriptArrayWithEmulationLevel(wxCommandEvent &WXUNUSED(evt
/** /**
* Callback invoked when a loading error occurs * Callback invoked when a loading error occurs
*/ */
void GuideFrame::OnError(wxWebViewEvent &evt) void GuideFrame::OnError(wxWebViewEvent& event)
{ {
#define WX_ERROR_CASE(type) \ auto e = "unknown error";
case type: category = #type; break; switch (event.GetInt()) {
case wxWEBVIEW_NAV_ERR_CONNECTION: e = "wxWEBVIEW_NAV_ERR_CONNECTION"; break;
wxString category; case wxWEBVIEW_NAV_ERR_CERTIFICATE: e = "wxWEBVIEW_NAV_ERR_CERTIFICATE"; break;
switch (evt.GetInt()) { case wxWEBVIEW_NAV_ERR_AUTH: e = "wxWEBVIEW_NAV_ERR_AUTH"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_CONNECTION); case wxWEBVIEW_NAV_ERR_SECURITY: e = "wxWEBVIEW_NAV_ERR_SECURITY"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_CERTIFICATE); case wxWEBVIEW_NAV_ERR_NOT_FOUND: e = "wxWEBVIEW_NAV_ERR_NOT_FOUND"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_AUTH); case wxWEBVIEW_NAV_ERR_REQUEST: e = "wxWEBVIEW_NAV_ERR_REQUEST"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_SECURITY); case wxWEBVIEW_NAV_ERR_USER_CANCELLED: e = "wxWEBVIEW_NAV_ERR_USER_CANCELLED"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_NOT_FOUND); case wxWEBVIEW_NAV_ERR_OTHER: e = "wxWEBVIEW_NAV_ERR_OTHER"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_REQUEST);
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_USER_CANCELLED);
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_OTHER);
} }
// wxLogMessage("%s", "Error; url='" + evt.GetURL() + "', error='" + BOOST_LOG_TRIVIAL(fatal) << __FUNCTION__<< boost::format(":GuideFrame error loading page %1% %2% %3% %4%") % event.GetURL() % event.GetTarget() %e % event.GetString();
// category + " (" + evt.GetString() + ")'"); Slic3r::sentryReportLog(Slic3r::SENTRY_LOG_FATAL, "bury_point_init GuideFrame webview fail", BP_WEB_VIEW);
// Show the info bar with an error
// m_info->ShowMessage(_L("An error occurred loading ") + evt.GetURL() +
// "\n" + "'" + category + "'", wxICON_ERROR);
BOOST_LOG_TRIVIAL(trace) << "GuideFrame::OnError: An error occurred loading " << evt.GetURL() << category;
UpdateState();
} }
void GuideFrame::OnScriptResponseMessage(wxCommandEvent &WXUNUSED(evt)) void GuideFrame::OnScriptResponseMessage(wxCommandEvent &WXUNUSED(evt))
@@ -651,7 +641,7 @@ int GuideFrame::SaveProfile()
// m_MainPtr->app_config->set(std::string(m_SectionName.mb_str()), "privacyuse", "0"); // m_MainPtr->app_config->set(std::string(m_SectionName.mb_str()), "privacyuse", "0");
m_MainPtr->app_config->set("app", "privacy_policy_isagree", PrivacyUse); m_MainPtr->app_config->set("app", "privacy_policy_isagree", PrivacyUse);
BOOST_LOG_TRIVIAL(warning) << "SaveProfile changed the privacy policy with: " << (PrivacyUse ? "true" : "false"); BOOST_LOG_TRIVIAL(warning) << "SaveProfile changed the privacy policy with: " << (PrivacyUse ? "true" : "false");
set_privacy_policy(PrivacyUse); wxGetApp().user_update_privacy_notify(PrivacyUse);
m_MainPtr->app_config->set("region", m_Region); m_MainPtr->app_config->set("region", m_Region);
m_MainPtr->app_config->set_bool("stealth_mode", StealthMode); m_MainPtr->app_config->set_bool("stealth_mode", StealthMode);
+16 -2
View File
@@ -6,6 +6,7 @@
#include <wx/sizer.h> #include <wx/sizer.h>
#include <slic3r/GUI/Widgets/WebView.hpp> #include <slic3r/GUI/Widgets/WebView.hpp>
#include "NotificationManager.hpp" #include "NotificationManager.hpp"
#include "sentry_wrapper/SentryWrapper.hpp"
namespace Slic3r { namespace GUI { namespace Slic3r { namespace GUI {
@@ -151,9 +152,22 @@ void WebPreprintDialog::OnDocumentLoaded(wxWebViewEvent &evt)
evt.Skip(); evt.Skip();
} }
void WebPreprintDialog::OnError(wxWebViewEvent &evt) void WebPreprintDialog::OnError(wxWebViewEvent &event)
{ {
wxLogError("Web View Error: %s", evt.GetString()); auto e = "unknown error";
switch (event.GetInt()) {
case wxWEBVIEW_NAV_ERR_CONNECTION: e = "wxWEBVIEW_NAV_ERR_CONNECTION"; break;
case wxWEBVIEW_NAV_ERR_CERTIFICATE: e = "wxWEBVIEW_NAV_ERR_CERTIFICATE"; break;
case wxWEBVIEW_NAV_ERR_AUTH: e = "wxWEBVIEW_NAV_ERR_AUTH"; break;
case wxWEBVIEW_NAV_ERR_SECURITY: e = "wxWEBVIEW_NAV_ERR_SECURITY"; break;
case wxWEBVIEW_NAV_ERR_NOT_FOUND: e = "wxWEBVIEW_NAV_ERR_NOT_FOUND"; break;
case wxWEBVIEW_NAV_ERR_REQUEST: e = "wxWEBVIEW_NAV_ERR_REQUEST"; break;
case wxWEBVIEW_NAV_ERR_USER_CANCELLED: e = "wxWEBVIEW_NAV_ERR_USER_CANCELLED"; break;
case wxWEBVIEW_NAV_ERR_OTHER: e = "wxWEBVIEW_NAV_ERR_OTHER"; break;
}
BOOST_LOG_TRIVIAL(fatal) << __FUNCTION__<< boost::format(":WebPreprintDialog error loading page %1% %2% %3% %4%") % event.GetURL() % event.GetTarget() %e % event.GetString();
Slic3r::sentryReportLog(Slic3r::SENTRY_LOG_FATAL, "bury_point_init WebPreprintDialog webview fail", BP_WEB_VIEW);
} }
void WebPreprintDialog::OnScriptMessage(wxWebViewEvent &evt) void WebPreprintDialog::OnScriptMessage(wxWebViewEvent &evt)
+14 -24
View File
@@ -6,7 +6,7 @@
#include "libslic3r/AppConfig.hpp" #include "libslic3r/AppConfig.hpp"
#include "slic3r/GUI/wxExtensions.hpp" #include "slic3r/GUI/wxExtensions.hpp"
#include "slic3r/GUI/GUI_App.hpp" #include "slic3r/GUI/GUI_App.hpp"
#include "common_func/common_func.hpp" #include "sentry_wrapper/SentryWrapper.hpp"
#include <wx/sizer.h> #include <wx/sizer.h>
#include <wx/toolbar.h> #include <wx/toolbar.h>
@@ -692,32 +692,22 @@ void WebPresetDialog::OnRunScriptArrayWithEmulationLevel(wxCommandEvent& WXUNUSE
/** /**
* Callback invoked when a loading error occurs * Callback invoked when a loading error occurs
*/ */
void WebPresetDialog::OnError(wxWebViewEvent& evt) void WebPresetDialog::OnError(wxWebViewEvent& event)
{ {
#define WX_ERROR_CASE(type) \ auto e = "unknown error";
case type: category = #type; break; switch (event.GetInt()) {
case wxWEBVIEW_NAV_ERR_CONNECTION: e = "wxWEBVIEW_NAV_ERR_CONNECTION"; break;
wxString category; case wxWEBVIEW_NAV_ERR_CERTIFICATE: e = "wxWEBVIEW_NAV_ERR_CERTIFICATE"; break;
switch (evt.GetInt()) { case wxWEBVIEW_NAV_ERR_AUTH: e = "wxWEBVIEW_NAV_ERR_AUTH"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_CONNECTION); case wxWEBVIEW_NAV_ERR_SECURITY: e = "wxWEBVIEW_NAV_ERR_SECURITY"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_CERTIFICATE); case wxWEBVIEW_NAV_ERR_NOT_FOUND: e = "wxWEBVIEW_NAV_ERR_NOT_FOUND"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_AUTH); case wxWEBVIEW_NAV_ERR_REQUEST: e = "wxWEBVIEW_NAV_ERR_REQUEST"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_SECURITY); case wxWEBVIEW_NAV_ERR_USER_CANCELLED: e = "wxWEBVIEW_NAV_ERR_USER_CANCELLED"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_NOT_FOUND); case wxWEBVIEW_NAV_ERR_OTHER: e = "wxWEBVIEW_NAV_ERR_OTHER"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_REQUEST);
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_USER_CANCELLED);
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_OTHER);
} }
// wxLogMessage("%s", "Error; url='" + evt.GetURL() + "', error='" + BOOST_LOG_TRIVIAL(fatal) << __FUNCTION__<< boost::format(":WebPresetDialog error loading page %1% %2% %3% %4%") % event.GetURL() % event.GetTarget() %e % event.GetString();
// category + " (" + evt.GetString() + ")'"); Slic3r::sentryReportLog(Slic3r::SENTRY_LOG_FATAL, "bury_point_init WebPresetDialog webview fail", BP_WEB_VIEW);
// Show the info bar with an error
// m_info->ShowMessage(_L("An error occurred loading ") + evt.GetURL() +
// "\n" + "'" + category + "'", wxICON_ERROR);
BOOST_LOG_TRIVIAL(trace) << "WebPresetDialog::OnError: An error occurred loading " << evt.GetURL() << category;
UpdateState();
} }
void WebPresetDialog::OnScriptResponseMessage(wxCommandEvent& WXUNUSED(evt)) void WebPresetDialog::OnScriptResponseMessage(wxCommandEvent& WXUNUSED(evt))
+13 -34
View File
@@ -386,42 +386,21 @@ void SMUserLogin::OnRunScriptArrayWithEmulationLevel(wxCommandEvent &WXUNUSED(ev
/** /**
* Callback invoked when a loading error occurs * Callback invoked when a loading error occurs
*/ */
void SMUserLogin::OnError(wxWebViewEvent &evt) void SMUserLogin::OnError(wxWebViewEvent &event)
{ {
#define WX_ERROR_CASE(type) \ auto e = "unknown error";
case type: category = #type; break; switch (event.GetInt()) {
case wxWEBVIEW_NAV_ERR_CONNECTION: e = "wxWEBVIEW_NAV_ERR_CONNECTION"; break;
wxString category; case wxWEBVIEW_NAV_ERR_CERTIFICATE: e = "wxWEBVIEW_NAV_ERR_CERTIFICATE"; break;
switch (evt.GetInt()) { case wxWEBVIEW_NAV_ERR_AUTH: e = "wxWEBVIEW_NAV_ERR_AUTH"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_CONNECTION); case wxWEBVIEW_NAV_ERR_SECURITY: e = "wxWEBVIEW_NAV_ERR_SECURITY"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_CERTIFICATE); case wxWEBVIEW_NAV_ERR_NOT_FOUND: e = "wxWEBVIEW_NAV_ERR_NOT_FOUND"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_AUTH); case wxWEBVIEW_NAV_ERR_REQUEST: e = "wxWEBVIEW_NAV_ERR_REQUEST"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_SECURITY); case wxWEBVIEW_NAV_ERR_USER_CANCELLED: e = "wxWEBVIEW_NAV_ERR_USER_CANCELLED"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_NOT_FOUND); case wxWEBVIEW_NAV_ERR_OTHER: e = "wxWEBVIEW_NAV_ERR_OTHER"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_REQUEST);
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_USER_CANCELLED);
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_OTHER);
} }
BOOST_LOG_TRIVIAL(fatal) << __FUNCTION__<< boost::format(":SMUserLogin error loading page %1% %2% %3% %4%") % event.GetURL() % event.GetTarget() %e % event.GetString();
if( evt.GetInt()==wxWEBVIEW_NAV_ERR_CONNECTION ) Slic3r::sentryReportLog(Slic3r::SENTRY_LOG_FATAL, "bury_point_init SMUserLogin webview fail", BP_WEB_VIEW);
{
if(m_timer!=NULL)
m_timer->Stop();
m_networkOk = false;
if (m_networkOk==false)
ShowErrorPage();
}
// wxLogMessage("%s", "Error; url='" + evt.GetURL() + "', error='" +
// category + " (" + evt.GetString() + ")'");
// Show the info bar with an error
// m_info->ShowMessage(_L("An error occurred loading ") + evt.GetURL() +
// "\n" + "'" + category + "'", wxICON_ERROR);
UpdateState();
} }
void SMUserLogin::OnScriptResponseMessage(wxCommandEvent &WXUNUSED(evt)) void SMUserLogin::OnScriptResponseMessage(wxCommandEvent &WXUNUSED(evt))
+16 -2
View File
@@ -6,6 +6,7 @@
#include "SSWCP.hpp" #include "SSWCP.hpp"
#include <wx/sizer.h> #include <wx/sizer.h>
#include <slic3r/GUI/Widgets/WebView.hpp> #include <slic3r/GUI/Widgets/WebView.hpp>
#include "sentry_wrapper/SentryWrapper.hpp"
namespace Slic3r { namespace GUI { namespace Slic3r { namespace GUI {
@@ -114,9 +115,22 @@ void WebUrlDialog::OnDocumentLoaded(wxWebViewEvent &evt)
evt.Skip(); evt.Skip();
} }
void WebUrlDialog::OnError(wxWebViewEvent &evt) void WebUrlDialog::OnError(wxWebViewEvent &event)
{ {
wxLogError("Web View Error: %s", evt.GetString()); auto e = "unknown error";
switch (event.GetInt()) {
case wxWEBVIEW_NAV_ERR_CONNECTION: e = "wxWEBVIEW_NAV_ERR_CONNECTION"; break;
case wxWEBVIEW_NAV_ERR_CERTIFICATE: e = "wxWEBVIEW_NAV_ERR_CERTIFICATE"; break;
case wxWEBVIEW_NAV_ERR_AUTH: e = "wxWEBVIEW_NAV_ERR_AUTH"; break;
case wxWEBVIEW_NAV_ERR_SECURITY: e = "wxWEBVIEW_NAV_ERR_SECURITY"; break;
case wxWEBVIEW_NAV_ERR_NOT_FOUND: e = "wxWEBVIEW_NAV_ERR_NOT_FOUND"; break;
case wxWEBVIEW_NAV_ERR_REQUEST: e = "wxWEBVIEW_NAV_ERR_REQUEST"; break;
case wxWEBVIEW_NAV_ERR_USER_CANCELLED: e = "wxWEBVIEW_NAV_ERR_USER_CANCELLED"; break;
case wxWEBVIEW_NAV_ERR_OTHER: e = "wxWEBVIEW_NAV_ERR_OTHER"; break;
}
BOOST_LOG_TRIVIAL(fatal) << __FUNCTION__<< boost::format(":WebUrlDialog error loading page %1% %2% %3% %4%") % event.GetURL() % event.GetTarget() %e % event.GetString();
Slic3r::sentryReportLog(Slic3r::SENTRY_LOG_FATAL, "bury_point_init WebUrlDialog webview fail", BP_WEB_VIEW);
} }
void WebUrlDialog::OnScriptMessage(wxWebViewEvent &evt) void WebUrlDialog::OnScriptMessage(wxWebViewEvent &evt)
+14 -33
View File
@@ -5,7 +5,7 @@
#include "libslic3r/AppConfig.hpp" #include "libslic3r/AppConfig.hpp"
#include "slic3r/GUI/wxExtensions.hpp" #include "slic3r/GUI/wxExtensions.hpp"
#include "slic3r/GUI/GUI_App.hpp" #include "slic3r/GUI/GUI_App.hpp"
#include "common_func/common_func.hpp" #include "sentry_wrapper/SentryWrapper.hpp"
#include <wx/sizer.h> #include <wx/sizer.h>
#include <wx/toolbar.h> #include <wx/toolbar.h>
@@ -360,40 +360,21 @@ void ZUserLogin::OnRunScriptArrayWithEmulationLevel(wxCommandEvent &WXUNUSED(evt
/** /**
* Callback invoked when a loading error occurs * Callback invoked when a loading error occurs
*/ */
void ZUserLogin::OnError(wxWebViewEvent &evt) void ZUserLogin::OnError(wxWebViewEvent &event)
{ {
#define WX_ERROR_CASE(type) \ auto e = "unknown error";
case type: category = #type; break; switch (event.GetInt()) {
case wxWEBVIEW_NAV_ERR_CONNECTION: e = "wxWEBVIEW_NAV_ERR_CONNECTION"; break;
wxString category; case wxWEBVIEW_NAV_ERR_CERTIFICATE: e = "wxWEBVIEW_NAV_ERR_CERTIFICATE"; break;
switch (evt.GetInt()) { case wxWEBVIEW_NAV_ERR_AUTH: e = "wxWEBVIEW_NAV_ERR_AUTH"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_CONNECTION); case wxWEBVIEW_NAV_ERR_SECURITY: e = "wxWEBVIEW_NAV_ERR_SECURITY"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_CERTIFICATE); case wxWEBVIEW_NAV_ERR_NOT_FOUND: e = "wxWEBVIEW_NAV_ERR_NOT_FOUND"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_AUTH); case wxWEBVIEW_NAV_ERR_REQUEST: e = "wxWEBVIEW_NAV_ERR_REQUEST"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_SECURITY); case wxWEBVIEW_NAV_ERR_USER_CANCELLED: e = "wxWEBVIEW_NAV_ERR_USER_CANCELLED"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_NOT_FOUND); case wxWEBVIEW_NAV_ERR_OTHER: e = "wxWEBVIEW_NAV_ERR_OTHER"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_REQUEST);
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_USER_CANCELLED);
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_OTHER);
} }
BOOST_LOG_TRIVIAL(fatal) << __FUNCTION__<< boost::format(":ZUserLogin error loading page %1% %2% %3% %4%") % event.GetURL() % event.GetTarget() %e % event.GetString();
if( evt.GetInt()==wxWEBVIEW_NAV_ERR_CONNECTION ) Slic3r::sentryReportLog(Slic3r::SENTRY_LOG_FATAL, "bury_point_init ZUserLogin webview fail", BP_WEB_VIEW);
{
if(m_timer!=NULL)
m_timer->Stop();
if (m_networkOk==false)
ShowErrorPage();
}
// wxLogMessage("%s", "Error; url='" + evt.GetURL() + "', error='" +
// category + " (" + evt.GetString() + ")'");
// Show the info bar with an error
// m_info->ShowMessage(_L("An error occurred loading ") + evt.GetURL() +
// "\n" + "'" + category + "'", wxICON_ERROR);
UpdateState();
} }
void ZUserLogin::OnScriptResponseMessage(wxCommandEvent &WXUNUSED(evt)) void ZUserLogin::OnScriptResponseMessage(wxCommandEvent &WXUNUSED(evt))
+14 -30
View File
@@ -4,7 +4,7 @@
#include "slic3r/GUI/wxExtensions.hpp" #include "slic3r/GUI/wxExtensions.hpp"
#include "slic3r/GUI/GUI_App.hpp" #include "slic3r/GUI/GUI_App.hpp"
#include "slic3r/GUI/MainFrame.hpp" #include "slic3r/GUI/MainFrame.hpp"
#include "common_func/common_func.hpp" #include "sentry_wrapper/SentryWrapper.hpp"
#include "../Utils/Http.hpp" #include "../Utils/Http.hpp"
#include "SSWCP.hpp" #include "SSWCP.hpp"
@@ -894,37 +894,21 @@ void WebViewPanel::OnSelectAll(wxCommandEvent& WXUNUSED(evt))
/** /**
* Callback invoked when a loading error occurs * Callback invoked when a loading error occurs
*/ */
void WebViewPanel::OnError(wxWebViewEvent& evt) void WebViewPanel::OnError(wxWebViewEvent& event)
{ {
#define WX_ERROR_CASE(type) \ auto e = "unknown error";
case type: \ switch (event.GetInt()) {
category = #type; \ case wxWEBVIEW_NAV_ERR_CONNECTION: e = "wxWEBVIEW_NAV_ERR_CONNECTION"; break;
break; case wxWEBVIEW_NAV_ERR_CERTIFICATE: e = "wxWEBVIEW_NAV_ERR_CERTIFICATE"; break;
case wxWEBVIEW_NAV_ERR_AUTH: e = "wxWEBVIEW_NAV_ERR_AUTH"; break;
wxString category; case wxWEBVIEW_NAV_ERR_SECURITY: e = "wxWEBVIEW_NAV_ERR_SECURITY"; break;
switch (evt.GetInt()) case wxWEBVIEW_NAV_ERR_NOT_FOUND: e = "wxWEBVIEW_NAV_ERR_NOT_FOUND"; break;
{ case wxWEBVIEW_NAV_ERR_REQUEST: e = "wxWEBVIEW_NAV_ERR_REQUEST"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_CONNECTION); case wxWEBVIEW_NAV_ERR_USER_CANCELLED: e = "wxWEBVIEW_NAV_ERR_USER_CANCELLED"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_CERTIFICATE); case wxWEBVIEW_NAV_ERR_OTHER: e = "wxWEBVIEW_NAV_ERR_OTHER"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_AUTH);
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_SECURITY);
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_NOT_FOUND);
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_REQUEST);
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_USER_CANCELLED);
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_OTHER);
} }
BOOST_LOG_TRIVIAL(fatal) << __FUNCTION__<< boost::format(":PrinterWebView error loading page %1% %2% %3% %4%") % event.GetURL() % event.GetTarget() %e % event.GetString();
BOOST_LOG_TRIVIAL(trace) << __FUNCTION__ << ": [" << category << "] " << evt.GetString().ToUTF8().data(); Slic3r::sentryReportLog(Slic3r::SENTRY_LOG_FATAL, "bury_point_init WebViewPanel webview fail", BP_WEB_VIEW);
if (wxGetApp().get_mode() == comDevelop)
{
wxLogMessage("%s", "Error; url='" + evt.GetURL() + "', error='" + category + " (" + evt.GetString() + ")'");
// Show the info bar with an error
m_info->ShowMessage(_L("An error occurred loading ") + evt.GetURL() + "\n" + "'" + category + "'", wxICON_ERROR);
}
UpdateState();
} }