style obtained from a widget not associated with screen may be wrong; we must create toplevel window and insert the widget into it to get correct style
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28795 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -236,9 +236,12 @@ wxControl::GetDefaultAttributesFromGTKWidget(GtkWidget* (*widget_new)(void),
|
|||||||
int state)
|
int state)
|
||||||
{
|
{
|
||||||
wxVisualAttributes attr;
|
wxVisualAttributes attr;
|
||||||
|
// NB: we need toplevel window so that GTK+ can find the right style
|
||||||
|
GtkWidget *wnd = gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
||||||
GtkWidget* widget = widget_new();
|
GtkWidget* widget = widget_new();
|
||||||
|
gtk_container_add(GTK_CONTAINER(wnd), widget);
|
||||||
attr = GetDefaultAttributesFromGTKWidget(widget, useBase, state);
|
attr = GetDefaultAttributesFromGTKWidget(widget, useBase, state);
|
||||||
gtk_widget_destroy(widget);
|
gtk_widget_destroy(wnd);
|
||||||
return attr;
|
return attr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -249,9 +252,12 @@ wxControl::GetDefaultAttributesFromGTKWidget(GtkWidget* (*widget_new)(const gcha
|
|||||||
int state)
|
int state)
|
||||||
{
|
{
|
||||||
wxVisualAttributes attr;
|
wxVisualAttributes attr;
|
||||||
|
// NB: we need toplevel window so that GTK+ can find the right style
|
||||||
|
GtkWidget *wnd = gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
||||||
GtkWidget* widget = widget_new("");
|
GtkWidget* widget = widget_new("");
|
||||||
|
gtk_container_add(GTK_CONTAINER(wnd), widget);
|
||||||
attr = GetDefaultAttributesFromGTKWidget(widget, useBase, state);
|
attr = GetDefaultAttributesFromGTKWidget(widget, useBase, state);
|
||||||
gtk_widget_destroy(widget);
|
gtk_widget_destroy(wnd);
|
||||||
return attr;
|
return attr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -263,9 +269,12 @@ wxControl::GetDefaultAttributesFromGTKWidget(GtkWidget* (*widget_new)(GtkAdjustm
|
|||||||
int state)
|
int state)
|
||||||
{
|
{
|
||||||
wxVisualAttributes attr;
|
wxVisualAttributes attr;
|
||||||
|
// NB: we need toplevel window so that GTK+ can find the right style
|
||||||
|
GtkWidget *wnd = gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
||||||
GtkWidget* widget = widget_new(NULL);
|
GtkWidget* widget = widget_new(NULL);
|
||||||
|
gtk_container_add(GTK_CONTAINER(wnd), widget);
|
||||||
attr = GetDefaultAttributesFromGTKWidget(widget, useBase, state);
|
attr = GetDefaultAttributesFromGTKWidget(widget, useBase, state);
|
||||||
gtk_widget_destroy(widget);
|
gtk_widget_destroy(wnd);
|
||||||
return attr;
|
return attr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -236,9 +236,12 @@ wxControl::GetDefaultAttributesFromGTKWidget(GtkWidget* (*widget_new)(void),
|
|||||||
int state)
|
int state)
|
||||||
{
|
{
|
||||||
wxVisualAttributes attr;
|
wxVisualAttributes attr;
|
||||||
|
// NB: we need toplevel window so that GTK+ can find the right style
|
||||||
|
GtkWidget *wnd = gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
||||||
GtkWidget* widget = widget_new();
|
GtkWidget* widget = widget_new();
|
||||||
|
gtk_container_add(GTK_CONTAINER(wnd), widget);
|
||||||
attr = GetDefaultAttributesFromGTKWidget(widget, useBase, state);
|
attr = GetDefaultAttributesFromGTKWidget(widget, useBase, state);
|
||||||
gtk_widget_destroy(widget);
|
gtk_widget_destroy(wnd);
|
||||||
return attr;
|
return attr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -249,9 +252,12 @@ wxControl::GetDefaultAttributesFromGTKWidget(GtkWidget* (*widget_new)(const gcha
|
|||||||
int state)
|
int state)
|
||||||
{
|
{
|
||||||
wxVisualAttributes attr;
|
wxVisualAttributes attr;
|
||||||
|
// NB: we need toplevel window so that GTK+ can find the right style
|
||||||
|
GtkWidget *wnd = gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
||||||
GtkWidget* widget = widget_new("");
|
GtkWidget* widget = widget_new("");
|
||||||
|
gtk_container_add(GTK_CONTAINER(wnd), widget);
|
||||||
attr = GetDefaultAttributesFromGTKWidget(widget, useBase, state);
|
attr = GetDefaultAttributesFromGTKWidget(widget, useBase, state);
|
||||||
gtk_widget_destroy(widget);
|
gtk_widget_destroy(wnd);
|
||||||
return attr;
|
return attr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -263,9 +269,12 @@ wxControl::GetDefaultAttributesFromGTKWidget(GtkWidget* (*widget_new)(GtkAdjustm
|
|||||||
int state)
|
int state)
|
||||||
{
|
{
|
||||||
wxVisualAttributes attr;
|
wxVisualAttributes attr;
|
||||||
|
// NB: we need toplevel window so that GTK+ can find the right style
|
||||||
|
GtkWidget *wnd = gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
||||||
GtkWidget* widget = widget_new(NULL);
|
GtkWidget* widget = widget_new(NULL);
|
||||||
|
gtk_container_add(GTK_CONTAINER(wnd), widget);
|
||||||
attr = GetDefaultAttributesFromGTKWidget(widget, useBase, state);
|
attr = GetDefaultAttributesFromGTKWidget(widget, useBase, state);
|
||||||
gtk_widget_destroy(widget);
|
gtk_widget_destroy(wnd);
|
||||||
return attr;
|
return attr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user