Fix wrong down-casting 48/230148/3
authorhyunho <hhstark.kang@samsung.com>
Wed, 8 Apr 2020 07:08:49 +0000 (16:08 +0900)
committerhyunho <hhstark.kang@samsung.com>
Wed, 8 Apr 2020 07:33:07 +0000 (16:33 +0900)
Change-Id: I268df08ddc0699bcd9c74fcb28272acd85140273
Signed-off-by: hyunho <hhstark.kang@samsung.com>
watch-holder/api/watch_mirror.cc

index b3996c6..f9121cb 100644 (file)
@@ -32,22 +32,26 @@ struct watch_mirror_s : public WatchMirror {
     : WatchMirror(win), cb_(cb), cb_data_(cb_data) {}
   void OnAdded(const ISharableWatch& watch) override {
     ISharableWatch& w = const_cast<ISharableWatch&>(watch);
-    cb_.watch_mirror_lifecycle_added_cb(reinterpret_cast<sharable_watch_h>(&w), cb_data_);
+    Watch* wa = dynamic_cast<Watch*>(&w);
+    cb_.watch_mirror_lifecycle_added_cb(reinterpret_cast<sharable_watch_h>(wa), cb_data_);
   }
 
   void OnUpdated(const ISharableWatch& watch) override {
     ISharableWatch& w = const_cast<ISharableWatch&>(watch);
-    cb_.watch_mirror_lifecycle_updated_cb(reinterpret_cast<sharable_watch_h>(&w), watch.GetCurrentImage(), cb_data_);
+    Watch* wa = dynamic_cast<Watch*>(&w);
+    cb_.watch_mirror_lifecycle_updated_cb(reinterpret_cast<sharable_watch_h>(wa), watch.GetCurrentImage(), cb_data_);
   }
 
   void OnRemoved(const ISharableWatch& watch) override {
     ISharableWatch& w = const_cast<ISharableWatch&>(watch);
-    cb_.watch_mirror_lifecycle_removed_cb(reinterpret_cast<sharable_watch_h>(&w), cb_data_);
+    Watch* wa = dynamic_cast<Watch*>(&w);
+    cb_.watch_mirror_lifecycle_removed_cb(reinterpret_cast<sharable_watch_h>(wa), cb_data_);
   }
 
   void OnChanged(const ISharableWatch& watch) override {
     ISharableWatch& w = const_cast<ISharableWatch&>(watch);
-    cb_.watch_mirror_lifecycle_changed_cb(reinterpret_cast<sharable_watch_h>(&w), cb_data_);
+    Watch* wa = dynamic_cast<Watch*>(&w);
+    cb_.watch_mirror_lifecycle_changed_cb(reinterpret_cast<sharable_watch_h>(wa), cb_data_);
   }
 
   void OnAmbientChanged(bool enter, tizen_base::Bundle& extra) override {