xlog-discussion
[Top][All Lists]
Advanced

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

[Xlog-discussion] Fix for consistent crash


From: Joop Stakenborg
Subject: [Xlog-discussion] Fix for consistent crash
Date: Thu, 19 Sep 2002 17:56:00 +0200

Here is a patch against 0.7beta5 for the crash reported by
Ernest Stracener. Feel free to try it. If I can find some
time, I will release a new beta just before my holidays,
which start coming sunday :-))) (Yippieie! Italian sun!)




diff -u -r xlog-0.7beta5/src/callbacks.c xlog-0.7beta6/src/callbacks.c
--- xlog-0.7beta5/src/callbacks.c       2002-08-08 19:59:16.000000000 +0200
+++ xlog-0.7beta6/src/callbacks.c       2002-09-18 21:52:06.000000000 +0200
@@ -1525,6 +1525,7 @@
        GtkWidget *logeditor, *lecomboentry3, *lecomboentry9_10, 
*lecomboentry11,
                *lecomboentry12, *lecomboentry13, *lecomboentry14, 
*lecomboentry15,
                *lecomboentry16, *leentry15, *leentry16, *lecomboentry17;
+       GtkWidget *unknownlabel1, *unknownlabel2;
        gchar *temp;
        gint i, columns, fields[QSO_FIELDS];
 
@@ -1638,6 +1639,8 @@
                if (strlen(temp) == 0)
                        temp = g_strdup("UNKNOWN");
                preferences.freefield1 = g_strdup(temp);
+               unknownlabel1 = lookup_widget(mainwindow, "unknownlabel1");
+               gtk_label_set_text(GTK_LABEL(unknownlabel1), temp);
        }
        temp = gtk_editable_get_chars(GTK_EDITABLE(leentry16), 0, -1);
        if (g_strcasecmp(temp, preferences.freefield2) != 0)
@@ -1645,6 +1648,8 @@
                if (strlen(temp) == 0)
                        temp = g_strdup("UNKNOWN");
                preferences.freefield2 = g_strdup(temp);
+               unknownlabel2 = lookup_widget(mainwindow, "unknownlabel2");
+               gtk_label_set_text(GTK_LABEL(unknownlabel2), temp);
        }
                
        g_free(temp);
diff -u -r xlog-0.7beta5/src/log.c xlog-0.7beta6/src/log.c
--- xlog-0.7beta5/src/log.c     2002-08-07 20:29:42.000000000 +0200
+++ xlog-0.7beta6/src/log.c     2002-09-19 17:39:47.000000000 +0200
@@ -182,13 +182,20 @@
        item = g_new0(gchar *, QSO_FIELDS);
 
        /* how many columns do we have and what are the labels, skip first 
field */
+       /* ----> unknown fields have a fixed label */
        for (i = 0; i < logw->columns; i++)
        {
                widget = gtk_clist_get_column_widget(GTK_CLIST(logw->clist), 
logw->logfields[i]);
                gtk_label_get(GTK_LABEL(widget), &label);
-               fields[i] = parse_field_name(label);
+               if (logw->logfields[i] == U1)
+                       fields[i] = U1;
+               else if (logw->logfields[i] == U2)
+                       fields[i] = U2;
+               else
+                       fields[i] = parse_field_name(label);
                widths[i] = parse_field_width(fields[i]);
        }
+       
        lp = log_file_create(logfile, type, logw->columns, fields, widths);
 
        if (lp)
diff -u -r xlog-0.7beta5/src/main.c xlog-0.7beta6/src/main.c
--- xlog-0.7beta5/src/main.c    2002-08-07 17:55:10.000000000 +0200
+++ xlog-0.7beta6/src/main.c    2002-09-19 16:51:15.000000000 +0200
@@ -188,7 +188,7 @@
                *frequencylabel, *frequencyhbox, *frequencyhandlebox,
                *modelabel, *modebutton, *rstlabel, *rstbutton, 
*smeterhandlebox, *smeterhbox,
                *smeterdrawingarea, *smeterpixmap, *hpaned, *powerlabel, 
*powerbutton,
-               *locatorframe;
+               *locatorframe, *unknownlabel1, *unknownlabel2;
        GdkPixmap *icon_pixmap;
        GdkBitmap *mask;
        gchar *xlogfile, *xlogbackupfile, *temp, *rcpath, *logstoload, 
**loglist = NULL;
@@ -308,6 +308,12 @@
        logwindow = g_list_nth_data(logwindowlist, 0);
        set_qsoframe(logwindow);
 
+       /* we have to set the labels of the unknown fields, wether they are 
visible or not */
+       unknownlabel1 = lookup_widget(mainwindow, "unknownlabel1");
+       gtk_label_set_text(GTK_LABEL(unknownlabel1), preferences.freefield1);
+       unknownlabel2 = lookup_widget(mainwindow, "unknownlabel2");
+       gtk_label_set_text(GTK_LABEL(unknownlabel2), preferences.freefield2);
+
        /* update the statusbar with some information */
        temp = g_strdup_printf(_("%d QSO's, %d countries and %d prefixes 
loaded"), 
                state.qsos, state.countries, state.prefixes);



Regards,
Joop PA4TU




reply via email to

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