[Bug 41161] New: Embedding child process' window in own window does not draw the child window properly

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Aug 18 10:35:11 CDT 2016


https://bugs.winehq.org/show_bug.cgi?id=41161

            Bug ID: 41161
           Summary: Embedding child process' window in own window does not
                    draw the child window properly
           Product: Wine
           Version: 1.9.16
          Hardware: x86-64
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: -unknown
          Assignee: wine-bugs at winehq.org
          Reporter: wine at sagagames.de
      Distribution: ---

OpenMPT (https://openmpt.org/) has a plugin bridge, which can be used to run
VST plugins in a separate process. However, compared to a native Windows
environment (or not bridging the plugins), there is a problem when drawing the
plugin UI.

The plugin UI window itself is a borderless window that belongs to the bridge
process, and is then set as a child of the actual plugin window that belongs to
the OpenMPT process using SetParent(...). This works just fine on Windows, but
in Wine, the child window remains completely black. If parts of the child
window are redrawn by the bridged process, they become visible, but as soon as
a redraw for the parent window is issued (e.g. by setting the focus to it),
these areas become black again.

Steps to reproduce:
1) Install OpenMPT.
2) Create a new module.
3) Open the plugin manager ("Select" button at the bottom of the created
module's window) and add any VST plugin that provides its own UI (e.g.
http://www.geocities.jp/daichi1969/softsynth/index.html#down)
4) Be sure the "Use Plugin Bridge" checkbox is checked (it is also fine if it
is checked but greyed out)
5) Click "Put in FX01" to load the plugin.
6) Click the "Edit" button next to the "Select" button to open the plugin's UI.
7) The UI will be completely black, with child controls becoming occasionally
visible if you click them.

Note that I am an OpenMPT developer, so I would be both happy with
incorporating a Wine-specific fix in our codebase if there is a way to make
this scenario work with Wine, or with a fix in Wine itself to make child
windows from other processes work correctly.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list