mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Bug 600947 - Gnucash-2.3.7 crashes when doing reports with webkit-1.1.15
Handle the "navigation requested" callback correctly. It was being called with the uri "base-uri" when a page was being loaded. This needed to be accepted. Then, when clicking on an account name, the correct register needs to be opened and the navigation status needs to be IGNORE. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18408 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
f693c0e8bc
commit
f8a887df76
@ -79,8 +79,11 @@ static char error_404_format[] = "<html><body><h3>%s</h3><p>%s</body></html>";
|
||||
static char error_404_title[] = N_("Not found");
|
||||
static char error_404_body[] = N_("The specified URL could not be loaded.");
|
||||
|
||||
static void webkit_navigation_requested_cb( WebKitWebView* web_view, GObject* arg1,
|
||||
GObject* arg2, gpointer data );
|
||||
static WebKitNavigationResponse webkit_navigation_requested_cb(
|
||||
WebKitWebView* web_view,
|
||||
WebKitWebFrame* frame,
|
||||
WebKitNetworkRequest* request,
|
||||
gpointer user_data );
|
||||
static void webkit_on_url_cb( WebKitWebView* web_view, gchar* title, gchar* url,
|
||||
gpointer data );
|
||||
static gchar* handle_embedded_object( GncHtmlWebkit* self, gchar* html_str );
|
||||
@ -476,23 +479,28 @@ gnc_html_link_clicked_cb( GtkHTML* html, const gchar* url, gpointer data )
|
||||
* loaded within the loading of a page (embedded image).
|
||||
********************************************************************/
|
||||
|
||||
static void
|
||||
webkit_navigation_requested_cb( WebKitWebView* web_view, GObject* arg1,
|
||||
GObject* arg2, gpointer data )
|
||||
static WebKitNavigationResponse
|
||||
webkit_navigation_requested_cb( WebKitWebView* web_view, WebKitWebFrame* frame,
|
||||
WebKitNetworkRequest* request,
|
||||
gpointer data )
|
||||
{
|
||||
URLType type;
|
||||
gchar* location = NULL;
|
||||
gchar* label = NULL;
|
||||
GncHtmlWebkit* self = GNC_HTML_WEBKIT(data);
|
||||
WebKitNetworkRequest* req = WEBKIT_NETWORK_REQUEST(arg2);
|
||||
const gchar* url = webkit_network_request_get_uri( req );
|
||||
const gchar* url = webkit_network_request_get_uri( request );
|
||||
|
||||
DEBUG( "requesting %s", url );
|
||||
if( strcmp( url, "base-uri" ) == 0 ) {
|
||||
return WEBKIT_NAVIGATION_RESPONSE_ACCEPT;
|
||||
}
|
||||
|
||||
type = gnc_html_parse_url( GNC_HTML(self), url, &location, &label );
|
||||
gnc_html_show_url( GNC_HTML(self), type, location, label, 0 );
|
||||
// load_to_stream( self, type, location, label );
|
||||
g_free( location );
|
||||
g_free( label );
|
||||
return WEBKIT_NAVIGATION_RESPONSE_IGNORE;
|
||||
}
|
||||
|
||||
#if 0
|
||||
|
Loading…
Reference in New Issue
Block a user