From 16db5cab90d124a755cfba4644783a28d01fcf64 Mon Sep 17 00:00:00 2001 From: Felix Herrmann Date: Mon, 21 Feb 2011 00:47:28 +0100 Subject: fix memory leak in parse_command_parts --- src/uzbl-core.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/uzbl-core.c b/src/uzbl-core.c index 779f378..e565b14 100644 --- a/src/uzbl-core.c +++ b/src/uzbl-core.c @@ -1161,8 +1161,10 @@ parse_command_parts(const gchar *line, GArray *a) { CommandInfo *c = NULL; gchar *exp_line = expand(line, 0); - if(exp_line[0] == '\0') + if(exp_line[0] == '\0') { + g_free(exp_line); return NULL; + } /* separate the line into the command and its parameters */ gchar **tokens = g_strsplit(exp_line, " ", 2); -- cgit v1.2.3 From 867c257b09b9c0f2ebe9b748ebdeffa355ef4711 Mon Sep 17 00:00:00 2001 From: Brendan Taylor Date: Sat, 5 Mar 2011 10:38:59 -0700 Subject: fix a build warning --- src/callbacks.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/callbacks.c b/src/callbacks.c index 470e8dd..cb9b492 100644 --- a/src/callbacks.c +++ b/src/callbacks.c @@ -1007,7 +1007,7 @@ populate_popup_cb(WebKitWebView *v, GtkMenu *m, void *c) { if (mi->context & WEBKIT_HIT_TEST_RESULT_CONTEXT_IMAGE) { GdkEventButton ev; gint x, y; - gdk_window_get_pointer(gtk_widget_get_window(v), &x, &y, NULL); + gdk_window_get_pointer(gtk_widget_get_window(GTK_WIDGET(v)), &x, &y, NULL); ev.x = x; ev.y = y; mi->hittest = webkit_web_view_get_hit_test_result(v, &ev); -- cgit v1.2.3 From 5bdc30a7ff4d18450eacd0d01860f707a56689ae Mon Sep 17 00:00:00 2001 From: Brendan Taylor Date: Sat, 5 Mar 2011 10:39:51 -0700 Subject: change @uri when the fragment identifier changes --- src/callbacks.c | 45 +++++++++++++++++++++++---------------------- src/callbacks.h | 3 +++ src/uzbl-core.c | 2 +- 3 files changed, 27 insertions(+), 23 deletions(-) (limited to 'src') diff --git a/src/callbacks.c b/src/callbacks.c index cb9b492..3a544a1 100644 --- a/src/callbacks.c +++ b/src/callbacks.c @@ -455,29 +455,44 @@ void load_status_change_cb (WebKitWebView* web_view, GParamSpec param_spec) { (void) param_spec; - WebKitWebFrame *frame = webkit_web_view_get_main_frame(web_view); WebKitLoadStatus status = webkit_web_view_get_load_status(web_view); switch(status) { case WEBKIT_LOAD_PROVISIONAL: - send_event(LOAD_START, NULL, TYPE_STR, uzbl.state.uri ? uzbl.state.uri : "", NULL); + send_event(LOAD_START, NULL, TYPE_STR, uzbl.state.uri ? uzbl.state.uri : "", NULL); break; case WEBKIT_LOAD_COMMITTED: - g_free (uzbl.state.uri); - GString* newuri = g_string_new (webkit_web_frame_get_uri (frame)); - uzbl.state.uri = g_string_free (newuri, FALSE); - g_setenv("UZBL_URI", uzbl.state.uri, TRUE); - + frame = webkit_web_view_get_main_frame(web_view); send_event(LOAD_COMMIT, NULL, TYPE_STR, webkit_web_frame_get_uri (frame), NULL); break; case WEBKIT_LOAD_FINISHED: - send_event(LOAD_FINISH, NULL, TYPE_STR, webkit_web_frame_get_uri(frame), NULL); + send_event(LOAD_FINISH, NULL, TYPE_STR, uzbl.state.uri, NULL); break; case WEBKIT_LOAD_FIRST_VISUALLY_NON_EMPTY_LAYOUT: break; /* we don't do anything with this (yet) */ case WEBKIT_LOAD_FAILED: break; /* load_error_cb will handle this case */ } +} + +void +load_error_cb (WebKitWebView* page, WebKitWebFrame* frame, gchar *uri, gpointer web_err, gpointer ud) { + (void) page; (void) frame; (void) ud; + GError *err = web_err; + + send_event (LOAD_ERROR, NULL, + TYPE_STR, uri, + TYPE_INT, err->code, + TYPE_STR, err->message, + NULL); +} + +void +uri_change_cb (WebKitWebView *web_view, GParamSpec param_spec) { + (void) param_spec; + g_free (uzbl.state.uri); + g_object_get (web_view, "uri", &uzbl.state.uri, NULL); + g_setenv("UZBL_URI", uzbl.state.uri, TRUE); } void @@ -491,20 +506,6 @@ selection_changed_cb(WebKitWebView *webkitwebview, gpointer ud) { g_free(tmp); } -void -load_error_cb (WebKitWebView* page, WebKitWebFrame* frame, gchar *uri, gpointer web_err, gpointer ud) { - (void) page; - (void) frame; - (void) ud; - GError *err = web_err; - - send_event (LOAD_ERROR, NULL, - TYPE_STR, uri, - TYPE_INT, err->code, - TYPE_STR, err->message, - NULL); -} - void destroy_cb (GtkWidget* widget, gpointer data) { (void) widget; diff --git a/src/callbacks.h b/src/callbacks.h index ab0c1df..d34b9fa 100644 --- a/src/callbacks.h +++ b/src/callbacks.h @@ -160,6 +160,9 @@ load_status_change_cb (WebKitWebView* web_view, GParamSpec param_spec); void load_error_cb (WebKitWebView* page, WebKitWebFrame* frame, gchar *uri, gpointer web_err, gpointer ud); +void +uri_change_cb (WebKitWebView *web_view, GParamSpec param_spec); + void selection_changed_cb(WebKitWebView *webkitwebview, gpointer ud); diff --git a/src/uzbl-core.c b/src/uzbl-core.c index 31ed50d..d73fbdf 100644 --- a/src/uzbl-core.c +++ b/src/uzbl-core.c @@ -1394,7 +1394,6 @@ update_title(void) { } } - void create_scrolled_win() { GUI* g = &uzbl.gui; @@ -1423,6 +1422,7 @@ create_scrolled_win() { "signal::selection-changed", (GCallback)selection_changed_cb, NULL, "signal::notify::progress", (GCallback)progress_change_cb, NULL, "signal::notify::load-status", (GCallback)load_status_change_cb, NULL, + "signal::notify::uri", (GCallback)uri_change_cb, NULL, "signal::load-error", (GCallback)load_error_cb, NULL, "signal::hovering-over-link", (GCallback)link_hover_cb, NULL, "signal::navigation-policy-decision-requested", (GCallback)navigation_decision_cb, NULL, -- cgit v1.2.3 From cefa7bb4a4e99e6fa7fd7ddcf7866ee60be50fc5 Mon Sep 17 00:00:00 2001 From: Brendan Taylor Date: Sat, 5 Mar 2011 12:08:35 -0700 Subject: fix a build error i am a bad person who doesn't test my commits. --- src/callbacks.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/callbacks.c b/src/callbacks.c index 3a544a1..deda426 100644 --- a/src/callbacks.c +++ b/src/callbacks.c @@ -455,6 +455,7 @@ void load_status_change_cb (WebKitWebView* web_view, GParamSpec param_spec) { (void) param_spec; + WebKitWebFrame *frame; WebKitLoadStatus status = webkit_web_view_get_load_status(web_view); switch(status) { case WEBKIT_LOAD_PROVISIONAL: -- cgit v1.2.3 From 4e702cd8f7b02174c2bd9d18d8b8b62715ffb066 Mon Sep 17 00:00:00 2001 From: Brendan Taylor Date: Sun, 6 Mar 2011 08:56:17 -0700 Subject: remove unused variables from the UzblCore struct --- src/uzbl-core.h | 12 ------------ 1 file changed, 12 deletions(-) (limited to 'src') diff --git a/src/uzbl-core.h b/src/uzbl-core.h index a4e055f..766fe56 100644 --- a/src/uzbl-core.h +++ b/src/uzbl-core.h @@ -165,7 +165,6 @@ typedef struct { gchar* cursive_font_family; gboolean forward_keys; - guint modmask; guint http_debug; gchar* shell_cmd; guint view_source; @@ -192,8 +191,6 @@ typedef struct { gchar *inject_html; guint caret_browsing; guint javascript_windows; - guint mode; - gchar* base_url; gboolean print_version; /* command list: (key)name -> (value)Command */ @@ -204,14 +201,6 @@ typedef struct { } Behaviour; -/* Javascript */ -typedef struct { - gboolean initialized; - JSClassDefinition classdef; - JSClassRef classref; -} Javascript; - - /* Static information */ typedef struct { int webkit_major; @@ -230,7 +219,6 @@ typedef struct { Network net; Behaviour behave; Communication comm; - Javascript js; Info info; Window xwin; -- cgit v1.2.3 From 3f4a22ab664d2da5a3d398d9cbf1131caf75f706 Mon Sep 17 00:00:00 2001 From: Brendan Taylor Date: Sun, 6 Mar 2011 09:17:21 -0700 Subject: key_to_event: don't crash when gdk_keyval_name returns NULL --- src/events.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/events.c b/src/events.c index 174ff75..641409c 100644 --- a/src/events.c +++ b/src/events.c @@ -205,6 +205,7 @@ void key_to_event(guint keyval, gint mode) { gchar ucs[7]; gint ulen; + gchar *keyname; guint32 ukval = gdk_keyval_to_unicode(keyval); /* check for printable unicode char */ @@ -219,9 +220,9 @@ key_to_event(guint keyval, gint mode) { NULL, TYPE_FORMATTEDSTR, ucs, NULL); } /* send keysym for non-printable chars */ - else { + else if((keyname = gdk_keyval_name(keyval))){ send_event(mode == GDK_KEY_PRESS ? KEY_PRESS : KEY_RELEASE, - NULL, TYPE_NAME, gdk_keyval_name(keyval), NULL); + NULL, TYPE_NAME, keyname , NULL); } } -- cgit v1.2.3 From 9eda8302a970790e984545fd7d8f8aa81d9c9e70 Mon Sep 17 00:00:00 2001 From: Brendan Taylor Date: Thu, 10 Mar 2011 19:13:00 -0700 Subject: don't expose send_event_socket and send_event_fifo --- src/events.c | 2 +- src/events.h | 5 +---- src/io.c | 4 ++-- 3 files changed, 4 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/events.c b/src/events.c index 641409c..58dddfc 100644 --- a/src/events.c +++ b/src/events.c @@ -92,7 +92,7 @@ send_event_sockets(GPtrArray *sockets, GString *msg) { } } -static void +void replay_buffered_events() { guint i = 0; diff --git a/src/events.h b/src/events.h index 8e75097..bd519a6 100644 --- a/src/events.h +++ b/src/events.h @@ -33,10 +33,7 @@ void event_buffer_timeout(guint sec); void -send_event_socket(GString *msg); - -void -send_event_stdout(GString *msg); +replay_buffered_events(); void vsend_event(int type, const gchar *custom_event, va_list vargs); diff --git a/src/io.c b/src/io.c index b84780e..80a7337 100644 --- a/src/io.c +++ b/src/io.c @@ -216,8 +216,8 @@ init_connect_socket() { } /* replay buffered events */ - if(replay) - send_event_socket(NULL); + if(replay && uzbl.state.event_buffer) + replay_buffered_events(); } -- cgit v1.2.3 From cf922a2972ebc5cbda517542849f2c625b09601e Mon Sep 17 00:00:00 2001 From: Brendan Taylor Date: Thu, 10 Mar 2011 19:20:30 -0700 Subject: fix a couple of calls to send_event --- src/inspector.c | 4 ++-- src/io.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/inspector.c b/src/inspector.c index de3dbcd..4c8c890 100644 --- a/src/inspector.c +++ b/src/inspector.c @@ -49,7 +49,7 @@ inspector_show_window_cb (WebKitWebInspector* inspector){ (void) inspector; gtk_widget_show(uzbl.gui.inspector_window); - send_event(WEBINSPECTOR, "open", NULL); + send_event(WEBINSPECTOR, NULL, TYPE_NAME, "open", NULL); return TRUE; } @@ -57,7 +57,7 @@ inspector_show_window_cb (WebKitWebInspector* inspector){ gboolean inspector_close_window_cb (WebKitWebInspector* inspector){ (void) inspector; - send_event(WEBINSPECTOR, "close", NULL); + send_event(WEBINSPECTOR, NULL, TYPE_NAME, "close", NULL); return TRUE; } diff --git a/src/io.c b/src/io.c index 1e85237..d9a2488 100644 --- a/src/io.c +++ b/src/io.c @@ -61,7 +61,7 @@ attach_fifo(gchar *path) { if (g_io_add_watch(chan, G_IO_IN|G_IO_HUP, (GIOFunc) control_fifo, NULL)) { if (uzbl.state.verbose) printf ("attach_fifo: created successfully as %s\n", path); - send_event(FIFO_SET, path, NULL); + send_event(FIFO_SET, NULL, TYPE_STR, path, NULL); uzbl.comm.fifo_path = path; g_setenv("UZBL_FIFO", uzbl.comm.fifo_path, TRUE); return TRUE; @@ -282,7 +282,7 @@ attach_socket(gchar *path, struct sockaddr_un *local) { if( (chan = g_io_channel_unix_new(sock)) ) { g_io_add_watch(chan, G_IO_IN|G_IO_HUP, (GIOFunc) control_socket, chan); uzbl.comm.socket_path = path; - send_event(SOCKET_SET, path, NULL); + send_event(SOCKET_SET, NULL, TYPE_STR, path, NULL); g_setenv("UZBL_SOCKET", uzbl.comm.socket_path, TRUE); return TRUE; } -- cgit v1.2.3