rem: guint width, height;
add: gint width, height;
context: gst_video_widget_allocate (GtkWidget *widget, GtkAllocation *allocation){  GstVideoWidget *vw;  gfloat temp, scale_factor = 1.0;  guint width, height;  g_return_if_fail (widget != NULL);  g_return_if_fail (GST_IS_VIDEO_WIDGET (widget));    vw = GST_VIDEO_WIDGET (widget);  /* Choosing best ratio */  if (vw->priv->scale_override)    {      /* Enforcing scale ratio taking the scale ratio from the priv structure */      scale_factor = vw->priv->scale_factor;    }  else if (!vw->priv->auto_resize)    {       /* Calculating optimal ratio to fit the allocated window */      if ( (vw->priv->source_width) &&	   (vw->priv->source_height) &&	   (GDK_IS_WINDOW (vw->priv->video_window)) )	{          gfloat w_ratio, h_ratio;          	  w_ratio = (gfloat) allocation->width / vw->priv->source_width;	  h_ratio = (gfloat) allocation->height / vw->priv->source_height;	  scale_factor = MIN (w_ratio, h_ratio);	}    }  else    {      scale_factor = 1.0;    }  /* Calculating width & height with optimal ratio */  temp = (scale_factor * vw->priv->source_width + 0.5);  width = (gint) temp > G_MAXINT ? G_MAXINT : (gint) temp;  temp = (scale_factor * vw->priv->source_height + 0.5);  height = (gint) temp > G_MAXINT ? G_MAXINT : (gint) temp;  /* When auto resizing we change allocation to our geometry except if our     geometry violates the minimum one */  if (vw->priv->auto_resize)    {      if (width < vw->priv->width_mini)	{	  allocation->width = vw->priv->width_mini;	}      else	{	  allocation->width = width;	}      if (height < vw->priv->height_mini)	{	  allocation->height = vw->priv->height_mini;	}      else	{	  allocation->height = height;	}    }  else    { /* We do not want to shrink under our minimum geometry */      if (allocation->width < vw->priv->width_mini)	allocation->width = vw->priv->width_mini;      if (allocation->height < vw->priv->height_mini)	allocation->height = vw->priv->height_mini;    }  widget->allocation = *allocation;  if (GTK_WIDGET_REALIZED (widget))    {      gdk_window_move_resize (widget->window,			      allocation->x,			      allocation->y,			      allocation->width, allocation->height);      if (GDK_IS_WINDOW (vw->priv->event_window))	gdk_window_move_resize (vw->priv->event_window,				0, 0, allocation->width, allocation->height);      /* X windows can only be resized to 1,1 not 0,0 so we have to handle         the case where source size is 0,0 (not set basically). So instead         of setting the video window to 0,0 we set it to 1,1 to match with         what X will really do. If we don't do that we have an infinite loop         with the expose event reacting on video window geometry changes. */      if (!width)        width = 1;      if (!height)        height = 1;            vw->priv->video_window_width = width;       vw->priv->video_window_height = height;            if (GDK_IS_WINDOW (vw->priv->video_window))	{	  gint video_x, video_y;	  video_x = (allocation->width / 2) - (width / 2);	  video_y = (allocation->height / 2) - (height / 2);	  gdk_window_move_resize (vw->priv->video_window,				  video_x, video_y, width, height);	}    }}