Empty notebooks show up again. I'm afraid this
might sometimes crash with GTK 1.2.0/1. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2550 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -359,8 +359,6 @@ gtk_myfixed_map (GtkWidget *widget)
|
|||||||
GTK_WIDGET_SET_FLAGS (widget, GTK_MAPPED);
|
GTK_WIDGET_SET_FLAGS (widget, GTK_MAPPED);
|
||||||
myfixed = GTK_MYFIXED (widget);
|
myfixed = GTK_MYFIXED (widget);
|
||||||
|
|
||||||
gdk_window_show (widget->window);
|
|
||||||
|
|
||||||
children = myfixed->children;
|
children = myfixed->children;
|
||||||
while (children)
|
while (children)
|
||||||
{
|
{
|
||||||
@@ -371,6 +369,8 @@ gtk_myfixed_map (GtkWidget *widget)
|
|||||||
!GTK_WIDGET_MAPPED (child->widget))
|
!GTK_WIDGET_MAPPED (child->widget))
|
||||||
gtk_widget_map (child->widget);
|
gtk_widget_map (child->widget);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gdk_window_show (widget->window);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if (GTK_MINOR_VERSION == 0)
|
#if (GTK_MINOR_VERSION == 0)
|
||||||
@@ -459,6 +459,7 @@ gtk_myfixed_size_request (GtkWidget *widget,
|
|||||||
GtkMyFixed *myfixed;
|
GtkMyFixed *myfixed;
|
||||||
GtkMyFixedChild *child;
|
GtkMyFixedChild *child;
|
||||||
GList *children;
|
GList *children;
|
||||||
|
GtkRequisition child_requisition;
|
||||||
|
|
||||||
g_return_if_fail (widget != NULL);
|
g_return_if_fail (widget != NULL);
|
||||||
g_return_if_fail (GTK_IS_MYFIXED (widget));
|
g_return_if_fail (GTK_IS_MYFIXED (widget));
|
||||||
@@ -466,11 +467,6 @@ gtk_myfixed_size_request (GtkWidget *widget,
|
|||||||
|
|
||||||
myfixed = GTK_MYFIXED (widget);
|
myfixed = GTK_MYFIXED (widget);
|
||||||
|
|
||||||
/* request very little, I'm not sure if requesting nothing
|
|
||||||
will always have positive effects on stability... */
|
|
||||||
requisition->width = 2;
|
|
||||||
requisition->height = 2;
|
|
||||||
|
|
||||||
children = myfixed->children;
|
children = myfixed->children;
|
||||||
while (children)
|
while (children)
|
||||||
{
|
{
|
||||||
@@ -479,9 +475,14 @@ gtk_myfixed_size_request (GtkWidget *widget,
|
|||||||
|
|
||||||
if (GTK_WIDGET_VISIBLE (child->widget))
|
if (GTK_WIDGET_VISIBLE (child->widget))
|
||||||
{
|
{
|
||||||
gtk_widget_size_request (child->widget, &child->widget->requisition);
|
gtk_widget_size_request (child->widget, &child_requisition);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* request very little, I'm not sure if requesting nothing
|
||||||
|
will always have positive effects on stability... */
|
||||||
|
requisition->width = 2;
|
||||||
|
requisition->height = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -530,9 +531,15 @@ gtk_myfixed_size_allocate (GtkWidget *widget,
|
|||||||
|
|
||||||
/* please look at the text in wxWindow::DoSetSize() on why the
|
/* please look at the text in wxWindow::DoSetSize() on why the
|
||||||
test GTK_WIDGET_REALIZED() has to be here */
|
test GTK_WIDGET_REALIZED() has to be here */
|
||||||
if (GTK_WIDGET_VISIBLE (child->widget) &&
|
if (GTK_WIDGET_VISIBLE (child->widget))
|
||||||
!(!GTK_WIDGET_REALIZED(child->widget) &&
|
{
|
||||||
GTK_IS_NOTEBOOK(child->widget) ))
|
/*
|
||||||
|
if (GTK_IS_NOTEBOOK(child->widget) && !GTK_WIDGET_REALIZED(child->widget))
|
||||||
|
{
|
||||||
|
gtk_widget_queue_resize( child->widget );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
*/
|
||||||
{
|
{
|
||||||
child_allocation.x = child->x;
|
child_allocation.x = child->x;
|
||||||
child_allocation.y = child->y;
|
child_allocation.y = child->y;
|
||||||
@@ -542,6 +549,7 @@ gtk_myfixed_size_allocate (GtkWidget *widget,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_myfixed_paint (GtkWidget *widget,
|
gtk_myfixed_paint (GtkWidget *widget,
|
||||||
@@ -653,13 +661,15 @@ gtk_myfixed_remove (GtkContainer *container,
|
|||||||
|
|
||||||
if (child->widget == widget)
|
if (child->widget == widget)
|
||||||
{
|
{
|
||||||
|
gboolean was_visible = GTK_WIDGET_VISIBLE (widget);
|
||||||
|
|
||||||
gtk_widget_unparent (widget);
|
gtk_widget_unparent (widget);
|
||||||
|
|
||||||
myfixed->children = g_list_remove_link (myfixed->children, children);
|
myfixed->children = g_list_remove_link (myfixed->children, children);
|
||||||
g_list_free (children);
|
g_list_free (children);
|
||||||
g_free (child);
|
g_free (child);
|
||||||
|
|
||||||
if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (container))
|
if (was_visible && GTK_WIDGET_VISIBLE (container))
|
||||||
gtk_widget_queue_resize (GTK_WIDGET (container));
|
gtk_widget_queue_resize (GTK_WIDGET (container));
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@@ -359,8 +359,6 @@ gtk_myfixed_map (GtkWidget *widget)
|
|||||||
GTK_WIDGET_SET_FLAGS (widget, GTK_MAPPED);
|
GTK_WIDGET_SET_FLAGS (widget, GTK_MAPPED);
|
||||||
myfixed = GTK_MYFIXED (widget);
|
myfixed = GTK_MYFIXED (widget);
|
||||||
|
|
||||||
gdk_window_show (widget->window);
|
|
||||||
|
|
||||||
children = myfixed->children;
|
children = myfixed->children;
|
||||||
while (children)
|
while (children)
|
||||||
{
|
{
|
||||||
@@ -371,6 +369,8 @@ gtk_myfixed_map (GtkWidget *widget)
|
|||||||
!GTK_WIDGET_MAPPED (child->widget))
|
!GTK_WIDGET_MAPPED (child->widget))
|
||||||
gtk_widget_map (child->widget);
|
gtk_widget_map (child->widget);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gdk_window_show (widget->window);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if (GTK_MINOR_VERSION == 0)
|
#if (GTK_MINOR_VERSION == 0)
|
||||||
@@ -459,6 +459,7 @@ gtk_myfixed_size_request (GtkWidget *widget,
|
|||||||
GtkMyFixed *myfixed;
|
GtkMyFixed *myfixed;
|
||||||
GtkMyFixedChild *child;
|
GtkMyFixedChild *child;
|
||||||
GList *children;
|
GList *children;
|
||||||
|
GtkRequisition child_requisition;
|
||||||
|
|
||||||
g_return_if_fail (widget != NULL);
|
g_return_if_fail (widget != NULL);
|
||||||
g_return_if_fail (GTK_IS_MYFIXED (widget));
|
g_return_if_fail (GTK_IS_MYFIXED (widget));
|
||||||
@@ -466,11 +467,6 @@ gtk_myfixed_size_request (GtkWidget *widget,
|
|||||||
|
|
||||||
myfixed = GTK_MYFIXED (widget);
|
myfixed = GTK_MYFIXED (widget);
|
||||||
|
|
||||||
/* request very little, I'm not sure if requesting nothing
|
|
||||||
will always have positive effects on stability... */
|
|
||||||
requisition->width = 2;
|
|
||||||
requisition->height = 2;
|
|
||||||
|
|
||||||
children = myfixed->children;
|
children = myfixed->children;
|
||||||
while (children)
|
while (children)
|
||||||
{
|
{
|
||||||
@@ -479,9 +475,14 @@ gtk_myfixed_size_request (GtkWidget *widget,
|
|||||||
|
|
||||||
if (GTK_WIDGET_VISIBLE (child->widget))
|
if (GTK_WIDGET_VISIBLE (child->widget))
|
||||||
{
|
{
|
||||||
gtk_widget_size_request (child->widget, &child->widget->requisition);
|
gtk_widget_size_request (child->widget, &child_requisition);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* request very little, I'm not sure if requesting nothing
|
||||||
|
will always have positive effects on stability... */
|
||||||
|
requisition->width = 2;
|
||||||
|
requisition->height = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -530,9 +531,15 @@ gtk_myfixed_size_allocate (GtkWidget *widget,
|
|||||||
|
|
||||||
/* please look at the text in wxWindow::DoSetSize() on why the
|
/* please look at the text in wxWindow::DoSetSize() on why the
|
||||||
test GTK_WIDGET_REALIZED() has to be here */
|
test GTK_WIDGET_REALIZED() has to be here */
|
||||||
if (GTK_WIDGET_VISIBLE (child->widget) &&
|
if (GTK_WIDGET_VISIBLE (child->widget))
|
||||||
!(!GTK_WIDGET_REALIZED(child->widget) &&
|
{
|
||||||
GTK_IS_NOTEBOOK(child->widget) ))
|
/*
|
||||||
|
if (GTK_IS_NOTEBOOK(child->widget) && !GTK_WIDGET_REALIZED(child->widget))
|
||||||
|
{
|
||||||
|
gtk_widget_queue_resize( child->widget );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
*/
|
||||||
{
|
{
|
||||||
child_allocation.x = child->x;
|
child_allocation.x = child->x;
|
||||||
child_allocation.y = child->y;
|
child_allocation.y = child->y;
|
||||||
@@ -542,6 +549,7 @@ gtk_myfixed_size_allocate (GtkWidget *widget,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_myfixed_paint (GtkWidget *widget,
|
gtk_myfixed_paint (GtkWidget *widget,
|
||||||
@@ -653,13 +661,15 @@ gtk_myfixed_remove (GtkContainer *container,
|
|||||||
|
|
||||||
if (child->widget == widget)
|
if (child->widget == widget)
|
||||||
{
|
{
|
||||||
|
gboolean was_visible = GTK_WIDGET_VISIBLE (widget);
|
||||||
|
|
||||||
gtk_widget_unparent (widget);
|
gtk_widget_unparent (widget);
|
||||||
|
|
||||||
myfixed->children = g_list_remove_link (myfixed->children, children);
|
myfixed->children = g_list_remove_link (myfixed->children, children);
|
||||||
g_list_free (children);
|
g_list_free (children);
|
||||||
g_free (child);
|
g_free (child);
|
||||||
|
|
||||||
if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (container))
|
if (was_visible && GTK_WIDGET_VISIBLE (container))
|
||||||
gtk_widget_queue_resize (GTK_WIDGET (container));
|
gtk_widget_queue_resize (GTK_WIDGET (container));
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user