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

Re: G-I issues



Frans Pop wrote:
(Leaving the BR out of this as it is not relevant for that.)

On Tuesday 02 January 2007 23:26, Attilio Fiandrotti wrote:

I was able to get that light grey area around the yes/no buttons with
today's gtk miniiso by going to the "abort installation" screen and
clicking on one of the two yes/no buttons with the mouse.
Using the keyboard only to activate buttons doesn't seem to exploit the
bug. I suspect this is not related with this patch and this has always
been there but no one ever spotted it.


Yes, could be. I mostly use the keyboard.
Feel free to commit the cursor patch then. Please clearly mark it as a workaround in the changelog and add to TODO to revert it when gtk-directfb gets fixed.

Applied; this reminds me there is one workaround we can get rid of now that we've switched to GTK 2.8: see attached patchfile, i'd like to commit this too.

P.S. Could you take a look at why g-i crashes all the time if you are
not on VT5? It seems to happen a lot more often now than it used to.

Do you have any suggestion about how to reproduce a crash (actions in
the gtk frontend, background operations on other VTs..) ?


Just being on any other VT triggers it. I am fairly sure I've seen it with
network configuration, partman and base installation.

I could get crashes when on VT1 while partitioner was running in the background. Unluckily, i couldn't find a deterministic way to reproduce this crash, so i don't know where to look exactly (in the gtk frontend, in gtk/dfb indfb..): i'll try to investigate, or better open a br about this.

Attilio
Index: gtk.c
===================================================================
--- gtk.c	(revisione 43794)
+++ gtk.c	(copia locale)
@@ -378,15 +378,14 @@
     gboolean bool_var ;
     struct question *q = data->q;
     model = (GtkTreeModel *) data->treemodel;
-    char str_iter_index[4];
 
     /* GtkTreeView is updated */
     path  = gtk_tree_path_new_from_string(path_string);
     gtk_tree_model_get_iter(model, &iter, path);
-    gtk_tree_path_free(path);
     gtk_tree_model_get(model, &iter, MULTISELECT_COL_BOOL, &bool_var, -1);
     bool_var ^= 1;
     gtk_list_store_set(GTK_LIST_STORE(model), &iter, MULTISELECT_COL_BOOL, bool_var, -1);
+    gtk_tree_path_free (path);
 
     /* frontend's internal question struct is updated */
     count = strgetargc(q_get_choices_vals(q));
@@ -400,18 +399,9 @@
         return /* DC_NOTOK */;
 
 
-    for (i = 0; i < count; i++)
-    {
-        sprintf(str_iter_index, "%d", i);
-        path  = gtk_tree_path_new_from_string(str_iter_index);
-
-        /* TODO
-         * The above hack is needed since gtk_tree_path_new_from_indices()
-         * was implemented first in GTK v. 2.2
-         * path  = gtk_tree_path_new_from_indices ( i, -1);
-         */
+    for (i = 0; i < count; i++) {
+        path = gtk_tree_path_new_from_indices ( i, -1);
         gtk_tree_model_get_iter(model, &iter, path);
-        gtk_tree_path_free(path);
         gtk_tree_model_get(model, &iter, MULTISELECT_COL_BOOL, &bool_var, -1);
 
         if((result != NULL) && bool_var==1)
@@ -423,6 +413,8 @@
         }
         else if((result == NULL) && bool_var==1)
             result = g_strdup(choices[tindex[i]]);
+
+        gtk_tree_path_free (path);
     }
 
     if (result == NULL)

Reply to: