Don't assume that get_preferred_* arguments can't be NULL
Fixes a crash introduced by f5f5aac5c0
This commit is contained in:
parent
aac24399f8
commit
e3367c92f0
4 changed files with 49 additions and 8 deletions
|
@ -131,7 +131,11 @@ cc_panel_get_preferred_width (GtkWidget *widget,
|
||||||
GtkBin *bin = GTK_BIN (widget);
|
GtkBin *bin = GTK_BIN (widget);
|
||||||
GtkWidget *child;
|
GtkWidget *child;
|
||||||
|
|
||||||
*minimum = *natural = 0;
|
if (minimum != NULL)
|
||||||
|
*minimum = 0;
|
||||||
|
|
||||||
|
if (natural != NULL)
|
||||||
|
*natural = 0;
|
||||||
|
|
||||||
if ((child = gtk_bin_get_child (bin)))
|
if ((child = gtk_bin_get_child (bin)))
|
||||||
gtk_widget_get_preferred_width (child, minimum, natural);
|
gtk_widget_get_preferred_width (child, minimum, natural);
|
||||||
|
@ -145,7 +149,11 @@ cc_panel_get_preferred_height (GtkWidget *widget,
|
||||||
GtkBin *bin = GTK_BIN (widget);
|
GtkBin *bin = GTK_BIN (widget);
|
||||||
GtkWidget *child;
|
GtkWidget *child;
|
||||||
|
|
||||||
*minimum = *natural = 0;
|
if (minimum != NULL)
|
||||||
|
*minimum = 0;
|
||||||
|
|
||||||
|
if (natural != NULL)
|
||||||
|
*natural = 0;
|
||||||
|
|
||||||
if ((child = gtk_bin_get_child (bin)))
|
if ((child = gtk_bin_get_child (bin)))
|
||||||
gtk_widget_get_preferred_height (child, minimum, natural);
|
gtk_widget_get_preferred_height (child, minimum, natural);
|
||||||
|
|
|
@ -194,9 +194,15 @@ cc_timezone_map_get_preferred_width (GtkWidget *widget,
|
||||||
gint *natural)
|
gint *natural)
|
||||||
{
|
{
|
||||||
CcTimezoneMapPrivate *priv = CC_TIMEZONE_MAP (widget)->priv;
|
CcTimezoneMapPrivate *priv = CC_TIMEZONE_MAP (widget)->priv;
|
||||||
|
gint size;
|
||||||
|
|
||||||
|
size = gdk_pixbuf_get_width (priv->orig_background) * 0.6;
|
||||||
|
|
||||||
/* FIXME: should natural == full pixmap size ? */
|
/* FIXME: should natural == full pixmap size ? */
|
||||||
*minimum = *natural = gdk_pixbuf_get_width (priv->orig_background) * 0.6;
|
if (minimum != NULL)
|
||||||
|
*minimum = size;
|
||||||
|
if (natural != NULL)
|
||||||
|
*natural = size;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -205,10 +211,17 @@ cc_timezone_map_get_preferred_height (GtkWidget *widget,
|
||||||
gint *natural)
|
gint *natural)
|
||||||
{
|
{
|
||||||
CcTimezoneMapPrivate *priv = CC_TIMEZONE_MAP (widget)->priv;
|
CcTimezoneMapPrivate *priv = CC_TIMEZONE_MAP (widget)->priv;
|
||||||
|
gint size;
|
||||||
|
|
||||||
/* FIXME: should natural == full pixmap size ? */
|
/* FIXME: should natural == full pixmap size ? */
|
||||||
*minimum = *natural = gdk_pixbuf_get_height (priv->orig_background) * 0.6;
|
size = gdk_pixbuf_get_height (priv->orig_background) * 0.6;
|
||||||
|
|
||||||
|
if (minimum != NULL)
|
||||||
|
*minimum = size;
|
||||||
|
if (natural != NULL)
|
||||||
|
*natural = size;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
cc_timezone_map_size_allocate (GtkWidget *widget,
|
cc_timezone_map_size_allocate (GtkWidget *widget,
|
||||||
GtkAllocation *allocation)
|
GtkAllocation *allocation)
|
||||||
|
|
|
@ -955,7 +955,12 @@ foo_scroll_area_get_preferred_width (GtkWidget *widget,
|
||||||
{
|
{
|
||||||
FooScrollArea *scroll_area = FOO_SCROLL_AREA (widget);
|
FooScrollArea *scroll_area = FOO_SCROLL_AREA (widget);
|
||||||
|
|
||||||
*minimum = *natural = scroll_area->priv->min_width;
|
if (minimum != NULL) {
|
||||||
|
*minimum = scroll_area->priv->min_width;
|
||||||
|
}
|
||||||
|
if (natural != NULL) {
|
||||||
|
*natural = scroll_area->priv->min_width;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -965,7 +970,12 @@ foo_scroll_area_get_preferred_height (GtkWidget *widget,
|
||||||
{
|
{
|
||||||
FooScrollArea *scroll_area = FOO_SCROLL_AREA (widget);
|
FooScrollArea *scroll_area = FOO_SCROLL_AREA (widget);
|
||||||
|
|
||||||
*minimum = *natural = scroll_area->priv->min_height;
|
if (minimum != NULL) {
|
||||||
|
*minimum = scroll_area->priv->min_height;
|
||||||
|
}
|
||||||
|
if (natural != NULL) {
|
||||||
|
*natural = scroll_area->priv->min_height;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -463,7 +463,12 @@ gvc_level_bar_get_preferred_width (GtkWidget *widget,
|
||||||
|
|
||||||
gvc_level_bar_size_request (widget, &requisition);
|
gvc_level_bar_size_request (widget, &requisition);
|
||||||
|
|
||||||
*minimum = *natural = requisition.width;
|
if (minimum != NULL) {
|
||||||
|
*minimum = requisition.width;
|
||||||
|
}
|
||||||
|
if (natural != NULL) {
|
||||||
|
*natural = requisition.width;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -475,7 +480,12 @@ gvc_level_bar_get_preferred_height (GtkWidget *widget,
|
||||||
|
|
||||||
gvc_level_bar_size_request (widget, &requisition);
|
gvc_level_bar_size_request (widget, &requisition);
|
||||||
|
|
||||||
*minimum = *natural = requisition.height;
|
if (minimum != NULL) {
|
||||||
|
*minimum = requisition.height;
|
||||||
|
}
|
||||||
|
if (natural != NULL) {
|
||||||
|
*natural = requisition.height;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue