More than one WxPandaWindow in 1.8.0 on Linux.

It seems whenever there’s more than one Panda render window in WX on Linux (Ubuntu Natty 64 bit), I get an x11 display error: “BadMatch (invalid parameter attributes)”. Originally, I was trying this with Panda 1.7.2 using my own code to make the WX Widget and that was giving the same errors. I was hoping that the new WxPandaWindow in 1.8.0 would fix the problems, but it appears not. Here’s a simple application that exhibits the behavior (partly borrowed from elsewhere on the forums):

import wx
from panda3d.core import loadPrcFileData
loadPrcFileData("startup", "window-type none")
import direct.directbase.DirectStart
from direct.wxwidgets.WxPandaWindow import WxPandaWindow


class MainWindow(wx.Frame):
    def __init__(self, parent):
        wx.Frame.__init__(self, parent, -1, 'Test', size=(300,200))
        panel = wx.Panel(self)
        sizer = wx.BoxSizer(wx.VERTICAL)
        self.window1 = WxPandaWindow(parent=panel)
        self.window2 = WxPandaWindow(parent=panel)
        sizer.Add(self.window1, 10, wx.EXPAND)
        sizer.Add(self.window2, 10, wx.EXPAND)
mw = MainWindow(None)


It works fine if you comment out the two lines for window2. Here’s the output I’m seeing:

DirectStart: Starting the game.
Known pipe types:
(all display modules loaded.)
:display:x11display(error): BadMatch (invalid parameter attributes)
:display:x11display(error): BadMatch (invalid parameter attributes)

With the last lines repeated every frame. “window1” gets the error and does not render anything. “window2” still renders. The only oddity with my test system is that I’m running on a VirtualBox VM, but Panda3D works perfectly fine when there’s only one WX Panda window. I’m able to run all of MV3D’s tools and the client without issue.

Any ideas? Are other people seeing this as well? I haven’t tried on OS X yet, but I definitely do not have this problem on Windows.