Remove needless hbox in panner, get rid of some warnings in editor_rulers.cc, vst_plu...
[ardour.git] / gtk2_ardour / vst_pluginui.cc
index bdb7ecded8cd887645d9419c47d53050f50c78d4..8b40e27070787d623c20f5bd097a7c2828f5c023 100644 (file)
 */
 
 #include <fst.h>
-#include <gdk/gdkx.h>
-#include <X11/Xlib.h>
 
 #include <ardour/insert.h>
 #include <ardour/vst_plugin.h>
 
 #include "plugin_ui.h"
-#include "prompter.h"
 
-#include "i18n.h"
+#include <gdk/gdkx.h>
 
 using namespace Gtk;
 using namespace ARDOUR;
@@ -65,42 +62,42 @@ VSTPluginUI::package (Gtk::Window& win)
 {
        /* for GTK+2, remove this: you cannot add to a realized socket */
 
-       socket.realize ();
+       //socket.realize ();
 
        /* forward configure events to plugin window */
 
-       win.configure_event.connect (bind (slot (*this, &VSTPluginUI::configure_handler), socket.gtkobj()));
+       win.signal_configure_event().connect (bind (mem_fun (*this, &VSTPluginUI::configure_handler), &socket));
 
        /* XXX in GTK2, use add_id() instead of steal, although add_id()
           assumes that the window's owner understands the XEmbed protocol.
        */
        
-       socket.steal (fst_get_XID (vst.fst()));
+       socket.add_id (fst_get_XID (vst.fst()));
 
        return 0;
 }
 
 gboolean
-VSTPluginUI::configure_handler (GdkEventConfigure* ev, GtkSocket *socket)
+VSTPluginUI::configure_handler (GdkEventConfigure* ev, Gtk::Socket *socket)
 {
        XEvent event;
 
        gint x, y;
 
-       if (socket->plug_window == NULL) {
+       if (socket->gobj() == NULL) {
                return FALSE;
        }
 
        event.xconfigure.type = ConfigureNotify;
-       event.xconfigure.event = GDK_WINDOW_XWINDOW (socket->plug_window);
-       event.xconfigure.window = GDK_WINDOW_XWINDOW (socket->plug_window);
+       event.xconfigure.event = GDK_WINDOW_XWINDOW (socket->get_window()->gobj());
+       event.xconfigure.window = GDK_WINDOW_XWINDOW (socket->get_window()->gobj());
 
        /* The ICCCM says that synthetic events should have root relative
         * coordinates. We still aren't really ICCCM compliant, since
         * we don't send events when the real toplevel is moved.
         */
        gdk_error_trap_push ();
-       gdk_window_get_origin (socket->plug_window, &x, &y);
+       gdk_window_get_origin (socket->get_window()->gobj(), &x, &y);
        gdk_error_trap_pop ();
 
        event.xconfigure.x = x;
@@ -113,8 +110,8 @@ VSTPluginUI::configure_handler (GdkEventConfigure* ev, GtkSocket *socket)
        event.xconfigure.override_redirect = False;
 
        gdk_error_trap_push ();
-       XSendEvent (GDK_WINDOW_XDISPLAY (socket->plug_window),
-                   GDK_WINDOW_XWINDOW (socket->plug_window),
+       XSendEvent (GDK_WINDOW_XDISPLAY (socket->get_window()->gobj()),
+                   GDK_WINDOW_XWINDOW (socket->get_window()->gobj()),
                    False, StructureNotifyMask, &event);
        // gdk_display_sync (GDK_WINDOW_XDISPLAY (socket->plug_window));
        gdk_error_trap_pop ();