diff options
Diffstat (limited to 'backend/genesys/static_init.cpp')
| -rw-r--r-- | backend/genesys/static_init.cpp | 32 | 
1 files changed, 7 insertions, 25 deletions
| diff --git a/backend/genesys/static_init.cpp b/backend/genesys/static_init.cpp index 5ed3b50..2d463ee 100644 --- a/backend/genesys/static_init.cpp +++ b/backend/genesys/static_init.cpp @@ -16,27 +16,6 @@     You should have received a copy of the GNU General Public License     along with this program.  If not, see <https://www.gnu.org/licenses/>. - -   As a special exception, the authors of SANE give permission for -   additional uses of the libraries contained in this release of SANE. - -   The exception is that, if you link a SANE library with other files -   to produce an executable, this does not by itself cause the -   resulting executable to be covered by the GNU General Public -   License.  Your use of that executable is in no way restricted on -   account of linking the SANE library code into it. - -   This exception does not, however, invalidate any other reasons why -   the executable file might be covered by the GNU General Public -   License. - -   If you submit changes to SANE to the maintainers to be included in -   a subsequent release, you agree by submitting the changes that -   those changes may be distributed with this exception intact. - -   If you write modifications of your own for SANE, it is your choice -   whether to permit this exception to apply to your modifications. -   If you do not wish that, delete this exception notice.  */  #define DEBUG_DECLARE_ONLY @@ -57,12 +36,15 @@ void add_function_to_run_at_backend_exit(const std::function<void()>& function)  void run_functions_at_backend_exit()  { -    for (auto it = s_functions_run_at_backend_exit->rbegin(); -         it != s_functions_run_at_backend_exit->rend(); ++it) +    if (s_functions_run_at_backend_exit)      { -        (*it)(); +        for (auto it = s_functions_run_at_backend_exit->rbegin(); +             it != s_functions_run_at_backend_exit->rend(); ++it) +        { +            (*it)(); +        } +        s_functions_run_at_backend_exit.reset();      } -    s_functions_run_at_backend_exit.reset();  }  } // namespace genesys | 
