1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

Fixed error handling when loading a plugin

This commit is contained in:
Klaus Schmidinger 2020-12-13 10:56:36 +01:00
parent 79a3607d0c
commit 67a4ba4228
3 changed files with 9 additions and 4 deletions

View File

@ -2523,6 +2523,7 @@ Nino Gerbino <ngerb@interfree.it>
Markus Ehrnsperger <markus.ehrnsperger@googlemail.com> Markus Ehrnsperger <markus.ehrnsperger@googlemail.com>
for reporting a problem with missing 'INCLUDES += -I$(DVBDIR)/include' in an existing for reporting a problem with missing 'INCLUDES += -I$(DVBDIR)/include' in an existing
Make.config Make.config
for reporting a bug in error handling when loading a plugin
Werner Färber <w.faerber@gmx.de> Werner Färber <w.faerber@gmx.de>
for reporting a bug in handling the cPluginManager::Active() result when pressing for reporting a bug in handling the cPluginManager::Active() result when pressing

View File

@ -9536,7 +9536,7 @@ Video Disk Recorder Revision History
cDvbTuner::GetSignalStats() to avoid problems with drivers that don't do this cDvbTuner::GetSignalStats() to avoid problems with drivers that don't do this
(thanks to Helmut Binder). (thanks to Helmut Binder).
2020-12-12: 2020-12-13:
- Fixed multiple recording entries in case a recording is started during the initial - Fixed multiple recording entries in case a recording is started during the initial
reading of the video directory (reported by Claus Muus). reading of the video directory (reported by Claus Muus).
@ -9555,3 +9555,4 @@ Video Disk Recorder Revision History
Binder). Binder).
- Avoiding a lengthy lock on the Channels list when starting a recording (thanks to - Avoiding a lengthy lock on the Channels list when starting a recording (thanks to
Helmut Binder). Helmut Binder).
- Fixed error handling when loading a plugin (reported by Markus Ehrnsperger).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: plugin.c 4.2 2020/06/29 09:29:06 kls Exp $ * $Id: plugin.c 4.3 2020/12/13 10:56:36 kls Exp $
*/ */
#include "plugin.h" #include "plugin.h"
@ -229,9 +229,12 @@ bool cDll::Load(bool Log)
if (!error) { if (!error) {
typedef cPlugin *create_t(void); typedef cPlugin *create_t(void);
create_t *create = (create_t *)dlsym(handle, "VDRPluginCreator"); create_t *create = (create_t *)dlsym(handle, "VDRPluginCreator");
if (!(error = dlerror())) error = dlerror();
if (!error && create) {
plugin = create(); plugin = create();
destroy = (destroy_t *)dlsym(handle, "VDRPluginDestroyer"); destroy = (destroy_t *)dlsym(handle, "VDRPluginDestroyer");
error = dlerror();
}
} }
if (!error) { if (!error) {
if (plugin && args) { if (plugin && args) {