ayttm-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Ayttm-commits] CVS: ayttm/src smileys.c,1.19,1.20 util.c,1.65,1.66


From: Colin Leroy <address@hidden>
Subject: [Ayttm-commits] CVS: ayttm/src smileys.c,1.19,1.20 util.c,1.65,1.66
Date: Wed, 26 Mar 2003 16:39:59 -0500

Update of /cvsroot/ayttm/ayttm/src
In directory subversions:/tmp/cvs-serv22642/src

Modified Files:
        smileys.c util.c 
Log Message:
blindly try to fix a segfault


Index: smileys.c
===================================================================
RCS file: /cvsroot/ayttm/ayttm/src/smileys.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- smileys.c   25 Mar 2003 23:04:59 -0000      1.19
+++ smileys.c   26 Mar 2003 21:39:57 -0000      1.20
@@ -324,23 +324,29 @@
 {
        GtkEditable *entry = NULL;
        int pos;
-       if (data->c_room)
+       if (data && data->c_room)
                entry = GTK_EDITABLE(data->c_room->entry);
-       else if (data->c_window)
+       else if (data && data->c_window)
                entry = GTK_EDITABLE(data->c_window->entry);
        else {
                eb_debug(DBG_CORE, "smiley_callback_data has no chat* !\n");
                return;
        }
        
-       if(entry && entry->current_pos)
-               pos=entry->current_pos;
-        gtk_editable_insert_text(entry, 
-                               gtk_widget_get_name(widget),
-                               strlen(gtk_widget_get_name(widget)),
-                               &pos);
-       gtk_editable_set_position(entry,
-                               pos);
+       if(entry) {
+               char *content = NULL;
+               char *smiley = gtk_widget_get_name(widget);
+               if (smiley) {
+                       pos=entry->current_pos;
+                       gtk_editable_insert_text(entry, 
+                                       smiley, strlen(smiley),
+                                       &pos);
+                       content = gtk_editable_get_chars(entry, 0, -1);
+                       gtk_editable_set_position(entry, 
pos<strlen(content)?pos:strlen(content));
+                       g_free(content);
+               }
+       }
+       
        if (data->c_room && data->c_room->smiley_window) {
                gtk_widget_destroy(data->c_room->smiley_window);
                data->c_room->smiley_window = NULL;

Index: util.c
===================================================================
RCS file: /cvsroot/ayttm/ayttm/src/util.c,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -r1.65 -r1.66
--- util.c      26 Mar 2003 18:50:42 -0000      1.65
+++ util.c      26 Mar 2003 21:39:57 -0000      1.66
@@ -717,7 +717,7 @@
 
 eb_account * find_account_by_handle( char * handle, int type )
 {
-       LList *g, *l1, *l2, *l3;
+       LList *l1, *l2, *l3;
 
        if (handle == NULL)
                return NULL;





reply via email to

[Prev in Thread] Current Thread [Next in Thread]