diff --git a/modules/media/gtkgstpaintable.c b/modules/media/gtkgstpaintable.c index e2cbf96041..66bb29985d 100644 --- a/modules/media/gtkgstpaintable.c +++ b/modules/media/gtkgstpaintable.c @@ -265,10 +265,13 @@ gtk_gst_paintable_set_paintable (GtkGstPaintable *self, return; if (self->image == NULL || - self->pixel_aspect_ratio * gdk_paintable_get_intrinsic_width (self->image) != - pixel_aspect_ratio * gdk_paintable_get_intrinsic_width (paintable) || gdk_paintable_get_intrinsic_height (self->image) != gdk_paintable_get_intrinsic_height (paintable) || - gdk_paintable_get_intrinsic_aspect_ratio (self->image) != gdk_paintable_get_intrinsic_aspect_ratio (paintable) || + !G_APPROX_VALUE (self->pixel_aspect_ratio * gdk_paintable_get_intrinsic_width (self->image), + pixel_aspect_ratio * gdk_paintable_get_intrinsic_width (paintable), + FLT_EPSILON) || + !G_APPROX_VALUE (gdk_paintable_get_intrinsic_aspect_ratio (self->image), + gdk_paintable_get_intrinsic_aspect_ratio (paintable), + FLT_EPSILON) || !graphene_rect_equal (viewport, &self->viewport)) size_changed = TRUE; else