X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8601b2e15bf924d4be6b7843064028e514a71ec8..d34e375c9c54f7fc655de69591dee4d5f8bb7193:/src/x11/popupwin.cpp

diff --git a/src/x11/popupwin.cpp b/src/x11/popupwin.cpp
index 2fbf352a72..34d95b1f2c 100644
--- a/src/x11/popupwin.cpp
+++ b/src/x11/popupwin.cpp
@@ -7,16 +7,18 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma implementation "popupwin.h"
 #endif
 
 #include "wx/defs.h"
+#include "wx/log.h"
 
 #if wxUSE_POPUPWIN
 
 #include "wx/popupwin.h"
 #include "wx/app.h"
+#include "wx/settings.h"
 
 #include "wx/x11/private.h"
 #include "X11/Xatom.h"
@@ -31,9 +33,13 @@ END_EVENT_TABLE()
 
 IMPLEMENT_DYNAMIC_CLASS(wxPopupWindow, wxWindow)
 
+wxPopupWindow::~wxPopupWindow()
+{
+}
+
 bool wxPopupWindow::Create( wxWindow *parent, int style )
 {
-    if (!CreateBase( parent, -1, wxDefaultPosition, wxDefaultSize, style, wxDefaultValidator, "popup" ))
+    if (!CreateBase( parent, -1, wxDefaultPosition, wxDefaultSize, style, wxDefaultValidator, wxT("popup") ))
     {
         wxFAIL_MSG( wxT("wxPopupWindow creation failed") );
         return FALSE;
@@ -55,6 +61,7 @@ bool wxPopupWindow::Create( wxWindow *parent, int style )
     int xscreen = DefaultScreen( xdisplay );
     Visual *xvisual = DefaultVisual( xdisplay, xscreen );
     Window xparent = RootWindow( xdisplay, xscreen );
+    Colormap cm = DefaultColormap( xdisplay, xscreen);
     
 #if wxUSE_TWO_WINDOWS
     bool need_two_windows = 
@@ -69,6 +76,12 @@ bool wxPopupWindow::Create( wxWindow *parent, int style )
     
     XSetWindowAttributes xattributes;
     long xattributes_mask = 0;
+
+    m_backgroundColour = wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE);
+    m_backgroundColour.CalcPixel( (WXColormap) cm);
+    
+    m_foregroundColour = *wxBLACK;
+    m_foregroundColour.CalcPixel( (WXColormap) cm);
     
     xattributes_mask |= CWBackPixel;
     xattributes.background_pixel = m_backgroundColour.GetPixel();