Skip to content

libdecor: check if plugins use different conflicting symbols

Gergo Koteles requested to merge soyer/libdecor:dlsym into master

The plugin loader checks for conflicting symbols in the executable or plugin. If so, it skips that plugin.

Currently the GTK plugin has been skipped when libdecor is loaded with dlopen, because under these circumstances dlsym always finds png_free in the default library search order (RTLD_DEFAULT).

It turned out that different libpng versions only caused problems if png_free was resolved differently in the plugin or by the default shared object search order.

This fix modifies the check that the conflicting symbols are not the same inside the plugin and by the default search order.

Tested with Stellaris (falls back to the cairo plugin) Blender (uses the GTK plugin) demo-egl (uses the GTK plugin) Cameractrls SDL viewer (uses the GTK plugin)

Edited by Gergo Koteles

Merge request reports

Loading