Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
DISCONTINUED:openSUSE:11.3:Update
eID-belgium.2992
eID-belgium-2.6.0-duplicate-qapp.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File eID-belgium-2.6.0-duplicate-qapp.patch of Package eID-belgium.2992
Index: src/belpicgui/belpicgui.cpp =================================================================== --- src/belpicgui/belpicgui.cpp.orig +++ src/belpicgui/belpicgui.cpp @@ -92,10 +92,19 @@ SCGUI_API scgui_ret_t scgui_init(void) static int i = 1; static char *s = "belpicgui"; -static QApplication gMyApp(i, &s); +static QApplication* gMyApp = NULL; SCGUI_API scgui_ret_t scgui_init(void) { + if (!qApp) + gMyApp = new QApplication (i, &s); + return SCGUI_OK; +} + +SCGUI_API scgui_ret_t scgui_finish(void) +{ + if (gMyApp) + delete gMyApp; return SCGUI_OK; } #endif Index: src/newpkcs11/src/libopensc/scgui.h =================================================================== --- src/newpkcs11/src/libopensc/scgui.h.orig +++ src/newpkcs11/src/libopensc/scgui.h @@ -113,7 +113,8 @@ extern "C" { #endif -typedef scgui_ret_t (*SCGUI_INIT)(void); +typedef scgui_ret_t (*SCGUI_INIT)(void); +typedef scgui_ret_t (*SCGUI_FINISH)(void); typedef scgui_ret_t (*SCGUI_ENTERPIN)(const char *, const char *, char *, int *, const char *, const char *, const char *, scgui_param_t); typedef scgui_ret_t (*SCGUI_CHANGEPIN)(const char *, const char *, char *, int *, char *, int *, const char *, const char *, const char *, const char *); typedef scgui_ret_t (*SCGUI_DISPLAY_MESSAGE)(const char *, const char *, const char *, const char *, void **, scgui_param_t, const char *); Index: src/newpkcs11/src/libopensc/card-belpic.c =================================================================== --- src/newpkcs11/src/libopensc/card-belpic.c.orig +++ src/newpkcs11/src/libopensc/card-belpic.c @@ -96,6 +96,7 @@ #include "../scdl/scdl.h" static void * modgui = NULL; static SCGUI_INIT pGuiInit = NULL; +static SCGUI_FINISH pGuiFinish = NULL; static SCGUI_ENTERPIN pGuiEnterPin = NULL; static SCGUI_CHANGEPIN pGuiChangePin = NULL; static SCGUI_DISPLAY_MESSAGE pGuiDisplayMsg = NULL; @@ -839,6 +840,9 @@ static int belpic_detect_pin_pad(struct static int belpic_finish(struct sc_card *card) { + if(pGuiFinish) + pGuiFinish(); + free(DRVDATA(card)); return 0; } @@ -966,6 +970,7 @@ static int belpic_init(struct sc_card *c if(modgui) { pGuiInit = (SCGUI_INIT)scdl_get_address(modgui, "scgui_init"); + pGuiFinish = (SCGUI_FINISH)scdl_get_address(modgui, "scgui_finish"); pGuiEnterPin = (SCGUI_ENTERPIN)scdl_get_address(modgui, "scgui_enterpin"); pGuiChangePin = (SCGUI_CHANGEPIN)scdl_get_address(modgui, "scgui_changepin"); pGuiDisplayMsg = (SCGUI_DISPLAY_MESSAGE)scdl_get_address(modgui, "scgui_display_message");
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor