diff options
Diffstat (limited to 'libmate-desktop')
-rw-r--r-- | libmate-desktop/mate-bg.c | 4 | ||||
-rw-r--r-- | libmate-desktop/mate-colorsel.c | 21 | ||||
-rw-r--r-- | libmate-desktop/mate-hsv.c | 6 | ||||
-rw-r--r-- | libmate-desktop/mate-languages.c | 62 |
4 files changed, 57 insertions, 36 deletions
diff --git a/libmate-desktop/mate-bg.c b/libmate-desktop/mate-bg.c index 647d38f..64c8d6a 100644 --- a/libmate-desktop/mate-bg.c +++ b/libmate-desktop/mate-bg.c @@ -2369,12 +2369,14 @@ get_pixbuf_for_size (MateBG *bg, if (show) { double alpha; + double timeout; Slide *slide; slideshow_ref (show); slide = get_current_slide (show, &alpha); - time_until_next_change = (guint)get_slide_timeout (slide); + timeout = get_slide_timeout (slide); + time_until_next_change = (guint) timeout; if (slide->fixed) { FileSize *size = find_best_size (slide->file1, best_width, best_height); diff --git a/libmate-desktop/mate-colorsel.c b/libmate-desktop/mate-colorsel.c index 19806b4..8448874 100644 --- a/libmate-desktop/mate-colorsel.c +++ b/libmate-desktop/mate-colorsel.c @@ -1250,6 +1250,7 @@ palette_set_color (GtkWidget *drawing_area, MateColorSelection *colorsel, gdouble *color) { + gpointer pointer; gdouble *new_color = g_new (double, 4); GdkRGBA box_color; @@ -1260,7 +1261,8 @@ palette_set_color (GtkWidget *drawing_area, override_background_color (drawing_area, &box_color); - if (GPOINTER_TO_INT (g_object_get_data (G_OBJECT (drawing_area), "color_set")) == 0) + pointer = g_object_get_data (G_OBJECT (drawing_area), "color_set"); + if (!pointer || GPOINTER_TO_INT (pointer) == 0) { static const GtkTargetEntry targets[] = { { "application/x-color", 0 } @@ -1458,7 +1460,8 @@ palette_release (GtkWidget *drawing_area, g_object_get_data (G_OBJECT (drawing_area), "gtk-colorsel-have-pointer") != NULL) { - if (GPOINTER_TO_INT (g_object_get_data (G_OBJECT (drawing_area), "color_set")) != 0) + gpointer pointer = g_object_get_data (G_OBJECT (drawing_area), "color_set"); + if (pointer && GPOINTER_TO_INT (pointer) != 0) { gdouble color[4]; palette_get_color (drawing_area, color); @@ -1517,7 +1520,8 @@ palette_activate (GtkWidget *widget, (event->keyval == GDK_KEY_KP_Enter) || (event->keyval == GDK_KEY_KP_Space)) { - if (GPOINTER_TO_INT (g_object_get_data (G_OBJECT (widget), "color_set")) != 0) + gpointer pointer = g_object_get_data (G_OBJECT (widget), "color_set"); + if (pointer && GPOINTER_TO_INT (pointer) != 0) { gdouble color[4]; palette_get_color (widget, color); @@ -2127,6 +2131,9 @@ update_color (MateColorSelection *colorsel) gchar entryval[12]; gchar opacity_text[32]; gchar *ptr; + double r; + double g; + double b; priv->changing = TRUE; color_sample_update_samples (colorsel); @@ -2160,10 +2167,10 @@ update_color (MateColorSelection *colorsel) g_snprintf (opacity_text, 32, "%.0f", scale_round (priv->color[COLORSEL_OPACITY], 255)); gtk_entry_set_text (GTK_ENTRY (priv->opacity_entry), opacity_text); - g_snprintf (entryval, 11, "#%2X%2X%2X", - (guint) (scale_round (priv->color[COLORSEL_RED], 255)), - (guint) (scale_round (priv->color[COLORSEL_GREEN], 255)), - (guint) (scale_round (priv->color[COLORSEL_BLUE], 255))); + r = scale_round (priv->color[COLORSEL_RED], 255); + g = scale_round (priv->color[COLORSEL_GREEN], 255); + b = scale_round (priv->color[COLORSEL_BLUE], 255); + g_snprintf (entryval, 11, "#%2X%2X%2X", (guint) r, (guint) g, (guint) b); for (ptr = entryval; *ptr; ptr++) if (*ptr == ' ') diff --git a/libmate-desktop/mate-hsv.c b/libmate-desktop/mate-hsv.c index 6cb7e9a..9b59608 100644 --- a/libmate-desktop/mate-hsv.c +++ b/libmate-desktop/mate-hsv.c @@ -825,9 +825,9 @@ paint_ring (MateHSV *hsv, b = 1.0; hsv_to_rgb (&r, &g, &b); - *p++ = (((int)floor (r * 255 + 0.5) << 16) | - ((int)floor (g * 255 + 0.5) << 8) | - (int)floor (b * 255 + 0.5)); + *p++ = (((int)(r * 255.0) << 16) | + ((int)(g * 255.0) << 8) | + (int)(b * 255.0)); } } diff --git a/libmate-desktop/mate-languages.c b/libmate-desktop/mate-languages.c index 57ce6ab..c0b00c1 100644 --- a/libmate-desktop/mate-languages.c +++ b/libmate-desktop/mate-languages.c @@ -556,6 +556,24 @@ collect_locales_from_localebin (void) } static void +fill_count_map (GHashTable *count_map, + const char *code) +{ + int count; + gpointer pointer; + + if (code == NULL) + return; + + if ((pointer = g_hash_table_lookup (count_map, code)) != NULL) + count = GPOINTER_TO_INT (pointer) + 1; + else + count = 1; + + g_hash_table_insert (count_map, g_strdup (code), GINT_TO_POINTER (count)); +} + +static void count_languages_and_territories (void) { gpointer value; @@ -566,25 +584,9 @@ count_languages_and_territories (void) g_hash_table_iter_init (&iter, mate_available_locales_map); while (g_hash_table_iter_next (&iter, NULL, &value)) { - MateLocale *locale; - - locale = (MateLocale *) value; - - if (locale->language_code != NULL) { - int count; - - count = GPOINTER_TO_INT (g_hash_table_lookup (mate_language_count_map, locale->language_code)); - count++; - g_hash_table_insert (mate_language_count_map, g_strdup (locale->language_code), GINT_TO_POINTER (count)); - } - - if (locale->territory_code != NULL) { - int count; - - count = GPOINTER_TO_INT (g_hash_table_lookup (mate_territory_count_map, locale->territory_code)); - count++; - g_hash_table_insert (mate_territory_count_map, g_strdup (locale->territory_code), GINT_TO_POINTER (count)); - } + MateLocale *locale = (MateLocale *) value; + fill_count_map (mate_language_count_map, locale->language_code); + fill_count_map (mate_territory_count_map, locale->territory_code); } } @@ -614,11 +616,16 @@ collect_locales (void) static gint get_language_count (const char *language) { - if (mate_language_count_map == NULL) { + gint count = 0; + gpointer pointer; + + if (mate_language_count_map == NULL) collect_locales (); - } - return GPOINTER_TO_INT (g_hash_table_lookup (mate_language_count_map, language)); + if ((pointer = g_hash_table_lookup (mate_language_count_map, language)) != NULL) + count = GPOINTER_TO_INT (pointer); + + return count; } static gboolean @@ -630,11 +637,16 @@ is_unique_language (const char *language) static gint get_territory_count (const char *territory) { - if (mate_territory_count_map == NULL) { + gint count = 0; + gpointer pointer; + + if (mate_territory_count_map == NULL) collect_locales (); - } - return GPOINTER_TO_INT (g_hash_table_lookup (mate_territory_count_map, territory)); + if ((pointer = g_hash_table_lookup (mate_territory_count_map, territory)) != NULL) + count = GPOINTER_TO_INT (pointer); + + return count; } static gboolean |