clang-tidy: bugprone-integer-division
authorColin Clark <colin.clark@cclark.uk>
Tue, 6 Feb 2024 13:40:10 +0000 (13:40 +0000)
committerColin Clark <colin.clark@cclark.uk>
Tue, 6 Feb 2024 13:40:10 +0000 (13:40 +0000)
- Fix warnings identified by this flag
- Remove the exclude from .clang-tidy file

.clang-tidy
src/bar-gps.cc
src/cellrenderericon.cc
src/dupe.cc
src/osd.cc
src/pixbuf-renderer.cc

index 8d77bb3..e214ffa 100644 (file)
@@ -31,7 +31,6 @@ Checks: >
   -bugprone-easily-swappable-parameters,
   -bugprone-implicit-widening-of-multiplication-result,
   -bugprone-incorrect-roundings,
-  -bugprone-integer-division,
   -bugprone-narrowing-conversions,
   -bugprone-reserved-identifier,
   -bugprone-sizeof-expression,
index 7f5295c..6fd170c 100644 (file)
@@ -1108,13 +1108,13 @@ void bar_pane_gps_update_from_config(GtkWidget *pane, const gchar **attribute_na
                        }
                if (READ_INT_CLAMP_FULL("longitude", int_longitude, -90000000, +90000000))
                        {
-                       longitude = int_longitude / 1000000;
+                       longitude = int_longitude / 1000000.0;
                        g_object_set(G_OBJECT(CHAMPLAIN_VIEW(pgd->gps_view)), "longitude", longitude, NULL);
                        continue;
                        }
                if (READ_INT_CLAMP_FULL("latitude", int_latitude, -90000000, +90000000))
                        {
-                       latitude = int_latitude / 1000000;
+                       latitude = int_latitude / 1000000.0;
                        g_object_set(G_OBJECT(CHAMPLAIN_VIEW(pgd->gps_view)), "latitude", latitude, NULL);
                        continue;
                        }
index cdd3f02..322f5ef 100644 (file)
@@ -311,9 +311,9 @@ gqv_cell_renderer_icon_get_property(GObject *object,
                {
                GdkRGBA color;
 
-               color.red = cellicon->background.red / 65535;
-               color.green = cellicon->background.green / 65535;
-               color.blue = cellicon->background.blue / 65535;
+               color.red = cellicon->background.red / 65535.0;
+               color.green = cellicon->background.green / 65535.0;
+               color.blue = cellicon->background.blue / 65535.0;
 
                g_value_set_boxed(value, &color);
                }
@@ -322,9 +322,9 @@ gqv_cell_renderer_icon_get_property(GObject *object,
                {
                GdkRGBA color;
 
-               color.red = cellicon->foreground.red / 65535;
-               color.green = cellicon->foreground.green / 65535;
-               color.blue = cellicon->foreground.blue / 65535;
+               color.red = cellicon->foreground.red / 65535.0;
+               color.green = cellicon->foreground.green / 65535.0;
+               color.blue = cellicon->foreground.blue / 65535.0;
 
                g_value_set_boxed(value, &color);
                }
@@ -750,7 +750,7 @@ static void gqv_cell_renderer_icon_render(GtkCellRenderer *cell,
                                cairo_save (cr);
 
                                cairo_rectangle(cr,
-                                               pix_rect.x + i * TOGGLE_SPACING + (TOGGLE_WIDTH - TOGGLE_SPACING) / 2,
+                                               pix_rect.x + i * TOGGLE_SPACING + (TOGGLE_WIDTH - TOGGLE_SPACING) / 2.0,
                                                pix_rect.y,
                                                TOGGLE_WIDTH, TOGGLE_WIDTH);
                                cairo_clip (cr);
@@ -765,19 +765,19 @@ static void gqv_cell_renderer_icon_render(GtkCellRenderer *cell,
                                if (state & GTK_STATE_FLAG_CHECKED)
                                        {
                                        gtk_render_check(context, cr,
-                                               pix_rect.x + i * TOGGLE_SPACING + (TOGGLE_WIDTH - TOGGLE_SPACING) / 2,
+                                               pix_rect.x + i * TOGGLE_SPACING + (TOGGLE_WIDTH - TOGGLE_SPACING) / 2.0,
                                                pix_rect.y,
                                                TOGGLE_WIDTH, TOGGLE_WIDTH);
                                        }
                                gtk_render_frame(context, cr,
-                                        pix_rect.x + i * TOGGLE_SPACING + (TOGGLE_WIDTH - TOGGLE_SPACING) / 2,
+                                        pix_rect.x + i * TOGGLE_SPACING + (TOGGLE_WIDTH - TOGGLE_SPACING) / 2.0,
                                         pix_rect.y,
                                         TOGGLE_WIDTH, TOGGLE_WIDTH);
 
                                if (cellicon->focused && gtk_widget_has_focus(widget))
                                        {
                                        gtk_render_focus(context, cr,
-                                               pix_rect.x + i * TOGGLE_SPACING + (TOGGLE_WIDTH - TOGGLE_SPACING) / 2,
+                                               pix_rect.x + i * TOGGLE_SPACING + (TOGGLE_WIDTH - TOGGLE_SPACING) / 2.0,
                                                pix_rect.y, TOGGLE_WIDTH, TOGGLE_WIDTH);
                                        }
                                gtk_style_context_restore(context);
index f03ed75..2e84522 100644 (file)
@@ -341,7 +341,7 @@ static void dupe_window_update_progress(DupeWindow *dw, const gchar *status, gdo
                                d = dw->setup_count - dw->setup_n;
                                }
 
-                       rem = (t - d) ? (static_cast<gdouble>(dw->setup_time_count / 1000000) / (t - d)) * d : 0;
+                       rem = (t - d) ? (static_cast<gdouble>(dw->setup_time_count / 1000000.0) / (t - d)) * d : 0;
 
                        gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(dw->extra_label), value);
 
index 9a03b46..aa70bf1 100644 (file)
@@ -176,7 +176,7 @@ GtkWidget *osd_new(gint max_cols, GtkWidget *template_view)
        gq_gtk_container_add(GTK_WIDGET(scrolled), viewport);
        gtk_widget_show(viewport);
 
-       entries = (sizeof(predefined_tags) / sizeof(predefined_tags[0])) - 1;
+       entries = ((gdouble)sizeof(predefined_tags) / sizeof(predefined_tags[0])) - 1;
        max_rows = ceil(entries / max_cols);
 
        GtkGrid *grid;
index ab0372b..2e95b98 100644 (file)
@@ -1782,13 +1782,13 @@ static void pr_zoom_sync(PixbufRenderer *pr, gdouble zoom,
                        {
                        case PR_SCROLL_RESET_NOCHANGE:
                                /* maintain old scroll position */
-                               pr->x_scroll = (static_cast<gdouble>(pr->image_width) * old_center_x * pr->scale) - pr->vis_width / 2;
-                               pr->y_scroll = (static_cast<gdouble>(pr->image_height) * old_center_y * pr->scale * pr->aspect_ratio) - pr->vis_height / 2;
+                               pr->x_scroll = (static_cast<gdouble>(pr->image_width) * old_center_x * pr->scale) - pr->vis_width / 2.0;
+                               pr->y_scroll = (static_cast<gdouble>(pr->image_height) * old_center_y * pr->scale * pr->aspect_ratio) - pr->vis_height / 2.0;
                                break;
                        case PR_SCROLL_RESET_CENTER:
                                /* center new image */
-                               pr->x_scroll = (static_cast<gdouble>(pr->image_width) / 2.0 * pr->scale) - pr->vis_width / 2;
-                               pr->y_scroll = (static_cast<gdouble>(pr->image_height) / 2.0 * pr->scale * pr->aspect_ratio) - pr->vis_height / 2;
+                               pr->x_scroll = (static_cast<gdouble>(pr->image_width) / 2.0 * pr->scale) - pr->vis_width / 2.0;
+                               pr->y_scroll = (static_cast<gdouble>(pr->image_height) / 2.0 * pr->scale * pr->aspect_ratio) - pr->vis_height / 2.0;
                                break;
                        case PR_SCROLL_RESET_TOPLEFT:
                        default:
@@ -1808,8 +1808,8 @@ static void pr_zoom_sync(PixbufRenderer *pr, gdouble zoom,
                        }
                else
                        {
-                       pr->x_scroll = old_cx / old_scale * pr->scale - (pr->vis_width / 2);
-                       pr->y_scroll = old_cy / old_scale * pr->scale * pr->aspect_ratio - (pr->vis_height / 2);
+                       pr->x_scroll = old_cx / old_scale * pr->scale - (pr->vis_width / 2.0);
+                       pr->y_scroll = old_cy / old_scale * pr->scale * pr->aspect_ratio - (pr->vis_height / 2.0);
                        }
                }
 
@@ -1987,8 +1987,8 @@ void pixbuf_renderer_set_scroll_center(PixbufRenderer *pr, gdouble x, gdouble y)
 {
        gdouble dst_x, dst_y;
 
-       dst_x = x * pr->width  - pr->vis_width  / 2 - pr->x_scroll + CLAMP(pr->subpixel_x_scroll, -1.0, 1.0);
-       dst_y = y * pr->height - pr->vis_height / 2 - pr->y_scroll + CLAMP(pr->subpixel_y_scroll, -1.0, 1.0);
+       dst_x = x * pr->width  - pr->vis_width  / 2.0 - pr->x_scroll + CLAMP(pr->subpixel_x_scroll, -1.0, 1.0);
+       dst_y = y * pr->height - pr->vis_height / 2.0 - pr->y_scroll + CLAMP(pr->subpixel_y_scroll, -1.0, 1.0);
 
        pr->subpixel_x_scroll = dst_x - static_cast<gint>(dst_x);
        pr->subpixel_y_scroll = dst_y - static_cast<gint>(dst_y);