Don't use gdk_window_set_composited() on toplevel windows
Or try to paint their contents onto a parent toplevel. From the GDK doc: "It only makes sense for child windows to be composited". See #18592
This commit is contained in:
@@ -2353,7 +2353,7 @@ void wxWindowGTK::GTKHandleRealized()
|
|||||||
if (IsTransparentBackgroundSupported())
|
if (IsTransparentBackgroundSupported())
|
||||||
{
|
{
|
||||||
wxGCC_WARNING_SUPPRESS(deprecated-declarations)
|
wxGCC_WARNING_SUPPRESS(deprecated-declarations)
|
||||||
if (window)
|
if (window && !IsTopLevel())
|
||||||
gdk_window_set_composited(window, true);
|
gdk_window_set_composited(window, true);
|
||||||
wxGCC_WARNING_RESTORE()
|
wxGCC_WARNING_RESTORE()
|
||||||
}
|
}
|
||||||
@@ -5339,7 +5339,8 @@ void wxWindowGTK::GTKSendPaintEvents(const GdkRegion* region)
|
|||||||
for ( node = m_children.GetFirst(); node ; node = node->GetNext() )
|
for ( node = m_children.GetFirst(); node ; node = node->GetNext() )
|
||||||
{
|
{
|
||||||
wxWindow *compositeChild = node->GetData();
|
wxWindow *compositeChild = node->GetData();
|
||||||
if (compositeChild->GetBackgroundStyle() == wxBG_STYLE_TRANSPARENT)
|
if (compositeChild->GetBackgroundStyle() == wxBG_STYLE_TRANSPARENT &&
|
||||||
|
!compositeChild->IsTopLevel())
|
||||||
{
|
{
|
||||||
#ifndef __WXGTK3__
|
#ifndef __WXGTK3__
|
||||||
if (cr == NULL)
|
if (cr == NULL)
|
||||||
|
|||||||
Reference in New Issue
Block a user