#else
         wxCharBuffer buffer( wxConvLocal.cWC2WX( wxConvUTF8.cMB2WC( text ) ) );
 #endif
-        tmp = buffer;
+        if ( buffer )
+            tmp = buffer;
 
         g_free( text );
 #else
     if ( !wxControl::SetBackgroundColour( colour ) )
         return FALSE;
 
+#ifndef __WXGTK20__
     if (!m_widget->window)
         return FALSE;
+#endif
 
     if (!m_backgroundColour.Ok())
         return FALSE;