X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/833a51f67ec2cb68649cf4cd2fe46456fc1752b6..298c25c3a5b9d5d6b92310a54f860cd48627888b:/src/motif/popupwin.cpp

diff --git a/src/motif/popupwin.cpp b/src/motif/popupwin.cpp
index b3ce905e52..ffa6837734 100644
--- a/src/motif/popupwin.cpp
+++ b/src/motif/popupwin.cpp
@@ -1,20 +1,22 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        popupwin.cpp
+// Name:        src/motif/popupwin.cpp
 // Purpose:     wxPopupWindow implementation
 // Author:      Mattia barbon
 // Modified by:
 // Created:     28.08.03
 // RCS-ID:      $Id$
 // Copyright:   (c) Mattia barbon
-// Licence:   	wxWindows licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma implementation "popup.h"
-#endif
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
 
 #include "wx/popupwin.h"
-#include "wx/app.h"
+
+#ifndef WX_PRECOMP
+    #include "wx/app.h"
+#endif
 
 #ifdef __VMS__
 #pragma message disable nosimpint
@@ -26,8 +28,6 @@
 
 #include "wx/motif/private.h"
 
-IMPLEMENT_DYNAMIC_CLASS( wxPopupWindow, wxWindow );
-
 bool wxPopupWindow::Create( wxWindow *parent, int flags )
 {
     if( !wxPopupWindowBase::Create( parent, flags ) )
@@ -44,11 +44,19 @@ bool wxPopupWindow::Create( wxWindow *parent, int flags )
 
     m_mainWidget = (WXWidget)popup;
 
-    SetSize( 100, 100 ); // for child creation to work
+    wxAddWindowToTable( (Widget) m_mainWidget, this );
+
+    DoSetSizeIntr( -1, -1, 100, 100, 0, true );
 
     XtSetMappedWhenManaged( popup, False );
     XtRealizeWidget( popup );
-
+    XtManageChild ( popup );
+/*
+    XtTranslations ptr;
+    XtOverrideTranslations (popup,
+        ptr = XtParseTranslationTable ("<Configure>: resize()"));
+    XtFree ((char *) ptr);
+*/
     return true;
 }
 
@@ -59,7 +67,7 @@ bool wxPopupWindow::Show( bool show )
 
     if( show )
     {
-        XtPopup( (Widget)GetMainWidget(), XtGrabNone );
+        XtPopup( (Widget)GetMainWidget(), XtGrabNonexclusive );
     }
     else
     {