diff options
Diffstat (limited to 'src/plugger.h')
-rw-r--r-- | src/plugger.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/plugger.h b/src/plugger.h index 615a662..2124b7a 100644 --- a/src/plugger.h +++ b/src/plugger.h | |||
@@ -116,13 +116,15 @@ namespace Bu | |||
116 | 116 | ||
117 | void registerExternalPlugin( const char *sFName, const char *sPluginName ) | 117 | void registerExternalPlugin( const char *sFName, const char *sPluginName ) |
118 | { | 118 | { |
119 | PluginReg *pReg = (PluginReg *)hPlugin[sPluginName]; | 119 | PluginReg *pReg; |
120 | if( pReg != NULL ) | 120 | try { |
121 | { | 121 | pReg = (PluginReg *)hPlugin[sPluginName]; |
122 | hPlugin.erase( sPluginName ); | 122 | hPlugin.erase( sPluginName ); |
123 | dlclose( pReg->dlHandle ); | 123 | dlclose( pReg->dlHandle ); |
124 | delete pReg; | 124 | delete pReg; |
125 | pReg = NULL; | 125 | pReg = NULL; |
126 | } catch( Bu::HashException &e ) | ||
127 | { | ||
126 | } | 128 | } |
127 | 129 | ||
128 | pReg = new PluginReg; | 130 | pReg = new PluginReg; |