Don't access null tip_window pointer [ 1767485 ] wxGtk uses private API, breaks with gtk 2.11.6
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@48002 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -135,11 +135,23 @@ static void GetTooltipColors()
|
|||||||
{
|
{
|
||||||
GtkTooltips* tooltips = gtk_tooltips_new();
|
GtkTooltips* tooltips = gtk_tooltips_new();
|
||||||
gtk_tooltips_force_window(tooltips);
|
gtk_tooltips_force_window(tooltips);
|
||||||
gtk_widget_ensure_style(tooltips->tip_window);
|
|
||||||
GdkColor c = tooltips->tip_window->style->bg[GTK_STATE_NORMAL];
|
// FIXME: In 2.11.6 tip_window is private and always NULL so
|
||||||
gs_objects.m_colTooltip = wxColor(c);
|
// we need to do something different if there is no window.
|
||||||
c = tooltips->tip_window->style->fg[GTK_STATE_NORMAL];
|
// See https://sourceforge.net/tracker/index.php?func=detail&aid=1767485&group_id=9863&atid=109863
|
||||||
gs_objects.m_colTooltipText = wxColor(c);
|
if (tooltips->tip_window)
|
||||||
|
{
|
||||||
|
gtk_widget_ensure_style(tooltips->tip_window);
|
||||||
|
GdkColor c = tooltips->tip_window->style->bg[GTK_STATE_NORMAL];
|
||||||
|
gs_objects.m_colTooltip = wxColor(c);
|
||||||
|
c = tooltips->tip_window->style->fg[GTK_STATE_NORMAL];
|
||||||
|
gs_objects.m_colTooltipText = wxColor(c);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gs_objects.m_colTooltipText = wxColour(255, 255, 128); // FIXME
|
||||||
|
}
|
||||||
|
|
||||||
gtk_object_sink((GtkObject*)tooltips);
|
gtk_object_sink((GtkObject*)tooltips);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -509,7 +521,7 @@ int wxSystemSettingsNative::GetMetric( wxSystemMetric index, wxWindow* win )
|
|||||||
// since that is what the API wants. But the values
|
// since that is what the API wants. But the values
|
||||||
// are much bigger under GNOME than under Windows and
|
// are much bigger under GNOME than under Windows and
|
||||||
// just seem to much in many cases to be useful.
|
// just seem to much in many cases to be useful.
|
||||||
// drag_threshold *= 2;
|
// drag_threshold *= 2;
|
||||||
|
|
||||||
return drag_threshold;
|
return drag_threshold;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user