summaryrefslogtreecommitdiff
path: root/screen_connector_watcher_evas
diff options
context:
space:
mode:
authorHyunho Kang <hhstark.kang@samsung.com>2017-03-24 17:39:29 +0900
committerHyunho Kang <hhstark.kang@samsung.com>2017-03-24 20:07:46 +0900
commitbce37e7bd85b5a2777f1dcebc999b598c35f3fcb (patch)
tree38b638623c45d31982ec2c3bab24f1f9cfbf081d /screen_connector_watcher_evas
parent59197d0db58ff9ca748fd264c8b93265f951da15 (diff)
downloadscreen-connector-bce37e7bd85b5a2777f1dcebc999b598c35f3fcb.tar.gz
screen-connector-bce37e7bd85b5a2777f1dcebc999b598c35f3fcb.tar.bz2
screen-connector-bce37e7bd85b5a2777f1dcebc999b598c35f3fcb.zip
Fix callback disapeared bug
For locally declared callback function, screen_connector_toolkit_add should copy and store callback functions. Change-Id: I14ac550d5f062e03315046bedd0b69649972255f Signed-off-by: Hyunho Kang <hhstark.kang@samsung.com>
Diffstat (limited to 'screen_connector_watcher_evas')
-rw-r--r--screen_connector_watcher_evas/src/screen_connector_toolkit_evas.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/screen_connector_watcher_evas/src/screen_connector_toolkit_evas.c b/screen_connector_watcher_evas/src/screen_connector_toolkit_evas.c
index da88b31..5a78547 100644
--- a/screen_connector_watcher_evas/src/screen_connector_toolkit_evas.c
+++ b/screen_connector_watcher_evas/src/screen_connector_toolkit_evas.c
@@ -586,7 +586,7 @@ EXPORT_API screen_connector_toolkit_evas_h screen_connector_toolkit_evas_add(scr
{
screen_connector_toolkit_evas_h handle;
screen_connector_toolkit_evas_ops *evas_ops;
- screen_connector_toolkit_ops *toolkit_ops;
+ screen_connector_toolkit_ops toolkit_ops;
screen_connector_type_evas_h type_h;
int int_type = type;
@@ -596,10 +596,9 @@ EXPORT_API screen_connector_toolkit_evas_h screen_connector_toolkit_evas_add(scr
return NULL;
}
- toolkit_ops = (screen_connector_toolkit_ops *)calloc(1, sizeof(screen_connector_toolkit_ops));
- toolkit_ops->added_cb = __toolkit_added_cb;
- toolkit_ops->updated_cb = __toolkit_update_cb;
- toolkit_ops->removed_cb = __toolkit_removed_cb;
+ toolkit_ops.added_cb = __toolkit_added_cb;
+ toolkit_ops.updated_cb = __toolkit_update_cb;
+ toolkit_ops.removed_cb = __toolkit_removed_cb;
evas_ops = (screen_connector_toolkit_evas_ops *)calloc(1, sizeof(screen_connector_toolkit_evas_ops));
if (evas_ops == NULL) {
@@ -618,7 +617,7 @@ EXPORT_API screen_connector_toolkit_evas_h screen_connector_toolkit_evas_add(scr
handle->ops = evas_ops;
handle->data = data;
handle->type_h = type_h;
- handle->toolkit_h = screen_connector_toolkit_add(toolkit_ops, id, type, handle);
+ handle->toolkit_h = screen_connector_toolkit_add(&toolkit_ops, id, type, handle);
return handle;
}
@@ -834,7 +833,7 @@ EXPORT_API screen_connector_toolkit_evas_h screen_connector_toolkit_evas_add_by_
{
screen_connector_toolkit_evas_h handle;
screen_connector_toolkit_evas_ops *evas_ops;
- screen_connector_toolkit_ops *toolkit_ops;
+ screen_connector_toolkit_ops toolkit_ops;
screen_connector_type_evas_h type_h;
char rid_str[32];
@@ -844,10 +843,9 @@ EXPORT_API screen_connector_toolkit_evas_h screen_connector_toolkit_evas_add_by_
return NULL;
}
- toolkit_ops = (screen_connector_toolkit_ops *)calloc(1, sizeof(screen_connector_toolkit_ops));
- toolkit_ops->added_cb = __toolkit_added_cb;
- toolkit_ops->updated_cb = __toolkit_update_cb;
- toolkit_ops->removed_cb = __toolkit_removed_cb;
+ toolkit_ops.added_cb = __toolkit_added_cb;
+ toolkit_ops.updated_cb = __toolkit_update_cb;
+ toolkit_ops.removed_cb = __toolkit_removed_cb;
evas_ops = (screen_connector_toolkit_evas_ops *)calloc(1, sizeof(screen_connector_toolkit_evas_ops));
if (evas_ops == NULL) {
@@ -868,7 +866,7 @@ EXPORT_API screen_connector_toolkit_evas_h screen_connector_toolkit_evas_add_by_
handle->type_h = type_h;
snprintf(rid_str, sizeof(rid_str), "%d", res_id);
- handle->toolkit_h = screen_connector_toolkit_create_handle(rid_str, res_id, toolkit_ops, handle);
+ handle->toolkit_h = screen_connector_toolkit_create_handle(rid_str, res_id, &toolkit_ops, handle);
screen_connector_toolkit_redirect_surface(handle->toolkit_h);
return handle;