This change was needed because the SetImage is called by UpdateIndicatorImage that is running in another thread (UI). Now when orientation is changed, we delete the old watcher and create a new,  if this thread is running yet and the old watcher is deleted we could cause a segmentation fault, therefore, we need to check if this pointer is valid;