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)
|
||||
{
|
||||
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();
|
||||
gtk_container_add(GTK_CONTAINER(wnd), widget);
|
||||
attr = GetDefaultAttributesFromGTKWidget(widget, useBase, state);
|
||||
gtk_widget_destroy(widget);
|
||||
gtk_widget_destroy(wnd);
|
||||
return attr;
|
||||
}
|
||||
|
||||
@@ -249,9 +252,12 @@ wxControl::GetDefaultAttributesFromGTKWidget(GtkWidget* (*widget_new)(const gcha
|
||||
int state)
|
||||
{
|
||||
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("");
|
||||
gtk_container_add(GTK_CONTAINER(wnd), widget);
|
||||
attr = GetDefaultAttributesFromGTKWidget(widget, useBase, state);
|
||||
gtk_widget_destroy(widget);
|
||||
gtk_widget_destroy(wnd);
|
||||
return attr;
|
||||
}
|
||||
|
||||
@@ -263,9 +269,12 @@ wxControl::GetDefaultAttributesFromGTKWidget(GtkWidget* (*widget_new)(GtkAdjustm
|
||||
int state)
|
||||
{
|
||||
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);
|
||||
gtk_container_add(GTK_CONTAINER(wnd), widget);
|
||||
attr = GetDefaultAttributesFromGTKWidget(widget, useBase, state);
|
||||
gtk_widget_destroy(widget);
|
||||
gtk_widget_destroy(wnd);
|
||||
return attr;
|
||||
}
|
||||
|
||||
|
@@ -236,9 +236,12 @@ wxControl::GetDefaultAttributesFromGTKWidget(GtkWidget* (*widget_new)(void),
|
||||
int state)
|
||||
{
|
||||
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();
|
||||
gtk_container_add(GTK_CONTAINER(wnd), widget);
|
||||
attr = GetDefaultAttributesFromGTKWidget(widget, useBase, state);
|
||||
gtk_widget_destroy(widget);
|
||||
gtk_widget_destroy(wnd);
|
||||
return attr;
|
||||
}
|
||||
|
||||
@@ -249,9 +252,12 @@ wxControl::GetDefaultAttributesFromGTKWidget(GtkWidget* (*widget_new)(const gcha
|
||||
int state)
|
||||
{
|
||||
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("");
|
||||
gtk_container_add(GTK_CONTAINER(wnd), widget);
|
||||
attr = GetDefaultAttributesFromGTKWidget(widget, useBase, state);
|
||||
gtk_widget_destroy(widget);
|
||||
gtk_widget_destroy(wnd);
|
||||
return attr;
|
||||
}
|
||||
|
||||
@@ -263,9 +269,12 @@ wxControl::GetDefaultAttributesFromGTKWidget(GtkWidget* (*widget_new)(GtkAdjustm
|
||||
int state)
|
||||
{
|
||||
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);
|
||||
gtk_container_add(GTK_CONTAINER(wnd), widget);
|
||||
attr = GetDefaultAttributesFromGTKWidget(widget, useBase, state);
|
||||
gtk_widget_destroy(widget);
|
||||
gtk_widget_destroy(wnd);
|
||||
return attr;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user