[vte] lib: Silence some -Wfloat-equal warnings



commit 45e0311928e8d6170b06b5210946215d35753882
Author: Christian Persch <chpe gnome org>
Date:   Wed Sep 30 20:26:35 2015 +0200

    lib: Silence some -Wfloat-equal warnings
    
    In these cases, it should be safe to really use ==, so silence the
    warning for these.

 src/vte-private.h |   10 ++++++++++
 src/vte.cc        |    4 ++--
 src/vtedraw.cc    |    2 +-
 3 files changed, 13 insertions(+), 3 deletions(-)
---
diff --git a/src/vte-private.h b/src/vte-private.h
index d8fb11a..b6867f1 100644
--- a/src/vte-private.h
+++ b/src/vte-private.h
@@ -125,6 +125,16 @@ gboolean _vte_terminal_size_to_grid_size(VteTerminal *terminal,
 
 gboolean _vte_terminal_is_word_char(VteTerminal *terminal, gunichar c);
 
+static inline bool
+_vte_double_equal(double a,
+                  double b)
+{
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wfloat-equal"
+        return a == b;
+#pragma GCC diagnostic pop
+}
+
 G_END_DECLS
 
 #endif
diff --git a/src/vte.cc b/src/vte.cc
index 87a91ba..0d54c6f 100644
--- a/src/vte.cc
+++ b/src/vte.cc
@@ -2824,7 +2824,7 @@ _vte_terminal_set_background_alpha(VteTerminal *terminal,
 {
         VteTerminalPrivate *pvt = terminal->pvt;
 
-        if (alpha == pvt->background_alpha)
+        if (_vte_double_equal(alpha, pvt->background_alpha))
                 return;
 
         _vte_debug_print(VTE_DEBUG_MISC,
@@ -5063,7 +5063,7 @@ vte_terminal_style_updated (GtkWidget *widget)
         vte_terminal_set_padding(terminal);
 
         gtk_widget_style_get(widget, "cursor-aspect-ratio", &aspect, NULL);
-        if (aspect != terminal->pvt->cursor_aspect_ratio) {
+        if (!_vte_double_equal(aspect, terminal->pvt->cursor_aspect_ratio)) {
                 terminal->pvt->cursor_aspect_ratio = aspect;
                 _vte_invalidate_cursor_once(terminal, FALSE);
         }
diff --git a/src/vtedraw.cc b/src/vtedraw.cc
index 5d0fe55..dcabb6e 100644
--- a/src/vtedraw.cc
+++ b/src/vtedraw.cc
@@ -552,7 +552,7 @@ static gboolean
 context_equal (PangoContext *a,
               PangoContext *b)
 {
-       return pango_cairo_context_get_resolution (a) == pango_cairo_context_get_resolution (b)
+       return _vte_double_equal(pango_cairo_context_get_resolution(a), pango_cairo_context_get_resolution 
(b))
            && pango_font_description_equal (pango_context_get_font_description (a), 
pango_context_get_font_description (b))
            && cairo_font_options_equal (pango_cairo_context_get_font_options (a), 
pango_cairo_context_get_font_options (b))
            && pango_context_get_language (a) == pango_context_get_language (b)


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