]> git.tdb.fi Git - ext/subsurface.git/blobdiff - divelist.c
Only set the window icon if the icon file exists
[ext/subsurface.git] / divelist.c
index f664cde49cf6f0c8f725a8d3f681402a277a7abc..4ab61997cfc4e71c374b0f6606708e760377e14d 100644 (file)
@@ -244,7 +244,7 @@ static void get_dive_gas(struct dive *dive, int *o2, int *he, int *o2low)
                if (cylinder_none(cyl))
                        continue;
                if (!o2)
-                       o2 = 209;
+                       o2 = AIR_PERMILLE;
                if (o2 < mino2)
                        mino2 = o2;
                if (he > maxhe)
@@ -258,7 +258,7 @@ newmax:
                maxo2 = o2;
        }
        /* All air? Show/sort as "air"/zero */
-       if (!maxhe && maxo2 == 209 && mino2 == maxo2)
+       if (!maxhe && maxo2 == AIR_PERMILLE && mino2 == maxo2)
                maxo2 = mino2 = 0;
        *o2 = maxo2;
        *he = maxhe;
@@ -292,6 +292,8 @@ static gint nitrox_sort_func(GtkTreeModel *model,
        return a_he - b_he;
 }
 
+#define UTF8_ELLIPSIS "\xE2\x80\xA6"
+
 static void nitrox_data_func(GtkTreeViewColumn *col,
                             GtkCellRenderer *renderer,
                             GtkTreeModel *model,
@@ -315,7 +317,7 @@ static void nitrox_data_func(GtkTreeViewColumn *col,
                if (o2 == o2low)
                        snprintf(buffer, sizeof(buffer), "%d", o2);
                else
-                       snprintf(buffer, sizeof(buffer), "%d-%d", o2low, o2);
+                       snprintf(buffer, sizeof(buffer), "%d" UTF8_ELLIPSIS "%d", o2low, o2);
        else
                strcpy(buffer, "air");
 
@@ -390,8 +392,10 @@ static int calculate_otu(struct dive *dive)
                struct sample *sample = dive->sample + i;
                struct sample *psample = sample - 1;
                t = sample->time.seconds - psample->time.seconds;
-               po2 = dive->cylinder[sample->cylinderindex].gasmix.o2.permille / 1000.0 *
-                       (sample->depth.mm + 10000) / 10000.0;
+               int o2 = dive->cylinder[sample->cylinderindex].gasmix.o2.permille;
+               if (!o2)
+                       o2 = AIR_PERMILLE;
+               po2 = o2 / 1000.0 * (sample->depth.mm + 10000) / 10000.0;
                if (po2 >= 0.5)
                        otu += pow(po2 - 0.5, 0.83) * t / 30.0;
        }