Deinitialization fixes, in case if QNXGF driver is not initialized properly.
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404202
This commit is contained in:
parent
413e9a6218
commit
6e0c12e7f7
2 changed files with 20 additions and 3 deletions
|
@ -1071,6 +1071,7 @@ hiddi_connect_devices()
|
||||||
|
|
||||||
status = hidd_connect(&hidparams, &connection);
|
status = hidd_connect(&hidparams, &connection);
|
||||||
if (status != EOK) {
|
if (status != EOK) {
|
||||||
|
connection=NULL;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1097,6 +1098,7 @@ hiddi_connect_devices()
|
||||||
/* Disconnect from HID server */
|
/* Disconnect from HID server */
|
||||||
status = hidd_disconnect(connection);
|
status = hidd_disconnect(connection);
|
||||||
if (status != EOK) {
|
if (status != EOK) {
|
||||||
|
connection=NULL;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1105,6 +1107,7 @@ hiddi_connect_devices()
|
||||||
|
|
||||||
status = hidd_connect(&hidparams, &connection);
|
status = hidd_connect(&hidparams, &connection);
|
||||||
if (status != EOK) {
|
if (status != EOK) {
|
||||||
|
connection=NULL;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1119,9 +1122,12 @@ hiddi_disconnect_devices()
|
||||||
hiddi_disable_mouse();
|
hiddi_disable_mouse();
|
||||||
|
|
||||||
/* Disconnect from HID server */
|
/* Disconnect from HID server */
|
||||||
status = hidd_disconnect(connection);
|
if (connection!=NULL)
|
||||||
if (status != EOK) {
|
{
|
||||||
return -1;
|
status = hidd_disconnect(connection);
|
||||||
|
if (status != EOK) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -251,6 +251,9 @@ qnxgf_create(int devindex)
|
||||||
}
|
}
|
||||||
device->driverdata = gfdata;
|
device->driverdata = gfdata;
|
||||||
|
|
||||||
|
/* By default GF is not initialized */
|
||||||
|
gfdata->gfinitialized = SDL_FALSE;
|
||||||
|
|
||||||
/* Try to attach to graphics device driver */
|
/* Try to attach to graphics device driver */
|
||||||
status =
|
status =
|
||||||
gf_dev_attach(&gfdata->gfdev, GF_DEVICE_INDEX(devindex),
|
gf_dev_attach(&gfdata->gfdev, GF_DEVICE_INDEX(devindex),
|
||||||
|
@ -543,9 +546,17 @@ qnxgf_videoinit(_THIS)
|
||||||
void
|
void
|
||||||
qnxgf_videoquit(_THIS)
|
qnxgf_videoquit(_THIS)
|
||||||
{
|
{
|
||||||
|
SDL_VideoData *gfdata = (SDL_VideoData *) _this->driverdata;
|
||||||
SDL_DisplayData *didata = NULL;
|
SDL_DisplayData *didata = NULL;
|
||||||
uint32_t it;
|
uint32_t it;
|
||||||
|
|
||||||
|
/* Check if GF was initialized before */
|
||||||
|
if ((gfdata == NULL) || (gfdata->gfinitialized != SDL_TRUE))
|
||||||
|
{
|
||||||
|
/* If not, do not deinitialize */
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
/* Stop collecting mouse events */
|
/* Stop collecting mouse events */
|
||||||
hiddi_disable_mouse();
|
hiddi_disable_mouse();
|
||||||
/* Delete GF input devices */
|
/* Delete GF input devices */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue