diff finch/libgnt/gntwm.c @ 19153:58743fae0db2

merge of '8e1c0ef9ebb6ce5efc6fad6c18ad02f6f83f220e' and 'db793e506dda38bd8d837986f60cfcbe027860e4'
author Eric Polino <aluink@pidgin.im>
date Wed, 11 Jul 2007 20:03:24 +0000
parents 700fe77a79b3
children 3432d37a4a77
line wrap: on
line diff
--- a/finch/libgnt/gntwm.c	Wed Jul 11 19:51:48 2007 +0000
+++ b/finch/libgnt/gntwm.c	Wed Jul 11 20:03:24 2007 +0000
@@ -735,6 +735,7 @@
 			print = ch;
 #ifndef NO_WIDECHAR
 			if (wch.chars[0] > 255) {
+				/* XXX This lines throws a warning, can we quiet it? */
 				snprintf(unicode, sizeof(unicode), "&#x%x;", wch.chars[0]);
 				print = unicode;
 			}
@@ -803,6 +804,9 @@
 	if (wm->_list.window)
 		return TRUE;
 
+	if(!wm->cws->ordered)
+		return FALSE;
+
 	shift_window(wm, wm->cws->ordered->data, -1);
 	return TRUE;
 }
@@ -811,9 +815,13 @@
 shift_right(GntBindable *bindable, GList *null)
 {
 	GntWM *wm = GNT_WM(bindable);
+	
 	if (wm->_list.window)
 		return TRUE;
 
+	if(!wm->cws->ordered)
+		return FALSE;
+
 	shift_window(wm, wm->cws->ordered->data, 1);
 	return TRUE;
 }
@@ -1146,7 +1154,13 @@
 help_for_window(GntBindable *bindable, GList *null)
 {
 	GntWM *wm = GNT_WM(bindable);
-	GntWidget *widget = wm->cws->ordered->data;
+	GntWidget *widget;
+	
+	
+	if(!wm->cws->ordered)
+		return FALSE;
+	
+	widget = wm->cws->ordered->data;
 
 	return help_for_bindable(wm,GNT_BINDABLE(widget));
 }
@@ -1947,7 +1961,8 @@
 
 	if (!node)
 		return;
-	
+
+	/* XXX Should there be a check before access to 'data' to make sure 'ordered' isn't NULL? */
 	if (widget != wm->_list.window && !GNT_IS_MENU(widget) &&
 				wm->cws->ordered->data != widget) {
 		GntWidget *w = wm->cws->ordered->data;
@@ -2009,6 +2024,7 @@
 	GntWS *ws = gnt_wm_widget_find_workspace(wm, widget);
 	if (wm->cws != ws)
 		gnt_wm_switch_workspace(wm, g_list_index(wm->workspaces, ws));
+	/* XXX Should there be a check before access to 'data' to make sure 'ordered' isn't NULL? */
 	if (widget != wm->cws->ordered->data) {
 		GntWidget *wid = wm->cws->ordered->data;
 		wm->cws->ordered = g_list_bring_to_front(wm->cws->ordered, widget);