summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk/gtk_scaffolding.c3
-rw-r--r--gtk/gtk_window.c21
2 files changed, 20 insertions, 4 deletions
diff --git a/gtk/gtk_scaffolding.c b/gtk/gtk_scaffolding.c
index 220b4a3a9..b1fe5c779 100644
--- a/gtk/gtk_scaffolding.c
+++ b/gtk/gtk_scaffolding.c
@@ -5,6 +5,7 @@
* Copyright 2006 Rob Kendrick <rjek@rjek.com>
*/
+#include <assert.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
@@ -733,6 +734,8 @@ void gui_window_set_title(struct gui_window *_g, const char *title)
void gui_window_set_status(struct gui_window *_g, const char *text)
{
struct gtk_scaffolding *g = nsgtk_get_scaffold(_g);
+ assert(g);
+ assert(g->status_bar);
gtk_label_set_text(g->status_bar, text);
}
diff --git a/gtk/gtk_window.c b/gtk/gtk_window.c
index a09ae8931..65c080fb2 100644
--- a/gtk/gtk_window.c
+++ b/gtk/gtk_window.c
@@ -91,10 +91,13 @@ struct gui_window *gui_create_browser_window(struct browser_window *bw,
GtkPolicyType scrollpolicy;
g = malloc(sizeof(*g));
-
+ if (!g) {
+ warn_user("NoMemory", 0);
+ return 0;
+ }
+
LOG(("Creating gui window %p for browser window %p", g, bw));
-
g->bw = bw;
g->current_pointer = GUI_POINTER_DEFAULT;
if (clone != NULL)
@@ -250,8 +253,18 @@ gboolean nsgtk_window_expose_event(GtkWidget *widget,
GdkEventExpose *event, gpointer data)
{
struct gui_window *g = data;
- struct content *c = g->bw->current_content;
-
+ struct content *c;
+
+ assert(g);
+ assert(g->bw);
+
+ struct gui_window *z;
+ for (z = window_list; z && z != g; z = z->next)
+ continue;
+ assert(z);
+ assert(g->drawing_area == widget);
+
+ c = g->bw->current_content;
if (c == NULL)
return FALSE;