diff --git a/ptap/ptapui.cpp b/ptap/ptapui.cpp index ec836d6..f465f0e 100644 --- a/ptap/ptapui.cpp +++ b/ptap/ptapui.cpp @@ -142,7 +142,7 @@ void PTapUI::InitWidgets() } struct FLV2PUi_PTapUI : LV2PUiFactory { - /* virtual */ const char *GetUri() { return PTAP_URI "#X11UI"; } + /* virtual */ const char *GetUri() { return PTAP_URI; } /* virtual */ LV2PUi *CreateInstance() { return new PTapUI(); } }; diff --git a/pui/lv2pui.cpp b/pui/lv2pui.cpp index c1a2ff3..cfa84cd 100644 --- a/pui/lv2pui.cpp +++ b/pui/lv2pui.cpp @@ -4,6 +4,8 @@ #include "pui.h" #include "lv2pui.h" +static char s_lv2ui_uri[128]; + static void *lv2pui_thread(void *ptr) { LV2PUi *lv2pui = (LV2PUi *)ptr; @@ -62,10 +64,7 @@ static LV2UI_Handle lv2pui_instantiate( LV2UI_Widget *widget, const LV2_Feature *const *features) { - char uri[128]; - snprintf(uri, sizeof uri, "%s#X11UI", plugin_uri); - - LV2PUi *lv2pui = LV2PUiFactoryBase::CreateInstance(uri); + LV2PUi *lv2pui = LV2PUiFactoryBase::CreateInstance(plugin_uri); if (!lv2pui) return NULL; lv2pui->Instantiate(descriptor, bundle_path, write_function, controller, widget, features); @@ -124,7 +123,7 @@ static const void *lv2pui_extension_data(const char *uri) } static LV2UI_Descriptor s_lv2ui_descriptor = { - NULL, + s_lv2ui_uri, &lv2pui_instantiate, &lv2pui_cleanup, &lv2pui_port_event, @@ -136,6 +135,6 @@ const LV2UI_Descriptor *lv2ui_descriptor(uint32_t index) const char *uri = LV2PUiFactoryBase::GetUri(index); if (!uri) return NULL; - s_lv2ui_descriptor.URI = uri; + snprintf(s_lv2ui_uri, sizeof s_lv2ui_uri, "%s#%s", uri, "X11UI"); return &s_lv2ui_descriptor; }