diff options
author | Brendan Taylor <whateley@gmail.com> | 2011-07-25 19:06:10 +0000 |
---|---|---|
committer | Brendan Taylor <whateley@gmail.com> | 2011-09-17 17:03:53 +0000 |
commit | 65ace942fdabfd6116163a21eec7cd7bbd3cbcb1 (patch) | |
tree | 40b1bce4290125bfa3d3695b85fd213f2bb15f77 /src/callbacks.c | |
parent | 1cbac1d7fb292adc0e3e07d206370aeb5ac8e7e0 (diff) |
introduce getter and setter functions.
some variables didn't always have a value reflecting the browser's
internal state. for example, if `default_encoding` was never set then
`print @default_encoding` would always print a blank string.
this introduces getter functions that ensure the value of a variable is
always in sync with the internal state of the browser.
also: setters, because sometimes you need to process user input
before storing it.
Diffstat (limited to 'src/callbacks.c')
-rw-r--r-- | src/callbacks.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/callbacks.c b/src/callbacks.c index 446e868..ae5c2e3 100644 --- a/src/callbacks.c +++ b/src/callbacks.c @@ -8,6 +8,7 @@ #include "events.h" #include "menu.h" #include "type.h" +#include "variables.h" void link_hover_cb (WebKitWebView *page, const gchar *title, const gchar *link, gpointer data) { @@ -113,16 +114,15 @@ destroy_cb (GtkWidget* widget, gpointer data) { gboolean configure_event_cb(GtkWidget* window, GdkEventConfigure* event) { - (void) window; - (void) event; - gchar *lastgeo = NULL; + (void) window; (void) event; + + gchar *last_geo = uzbl.gui.geometry; + gchar *current_geo = get_geometry(); - lastgeo = g_strdup(uzbl.gui.geometry); - retrieve_geometry(); + if(!last_geo || strcmp(last_geo, current_geo)) + send_event(GEOMETRY_CHANGED, NULL, TYPE_STR, current_geo, NULL); - if(strcmp(lastgeo, uzbl.gui.geometry)) - send_event(GEOMETRY_CHANGED, NULL, TYPE_STR, uzbl.gui.geometry, NULL); - g_free(lastgeo); + g_free(current_geo); return FALSE; } |