Upstream version 8.37.183.0
[platform/framework/web/crosswalk.git] / src / ozone / wayland / input_device.cc
index 2217ce7..21f8bb6 100644 (file)
@@ -169,33 +169,30 @@ void WaylandInputDevice::OnSeatCapabilities(void *data,
   WaylandInputDevice* device = static_cast<WaylandInputDevice*>(data);
   if ((caps & WL_SEAT_CAPABILITY_KEYBOARD) && !device->input_keyboard_) {
     device->input_keyboard_ = new WaylandKeyboard();
+    device->input_keyboard_->OnSeatCapabilities(seat, caps);
   } else if (!(caps & WL_SEAT_CAPABILITY_KEYBOARD) && device->input_keyboard_) {
+    device->input_keyboard_->OnSeatCapabilities(seat, caps);
     delete device->input_keyboard_;
     device->input_keyboard_ = NULL;
   }
 
   if ((caps & WL_SEAT_CAPABILITY_POINTER) && !device->input_pointer_) {
     device->input_pointer_ = new WaylandPointer();
+    device->input_pointer_->OnSeatCapabilities(seat, caps);
   } else if (!(caps & WL_SEAT_CAPABILITY_POINTER) && device->input_pointer_) {
+    device->input_pointer_->OnSeatCapabilities(seat, caps);
     delete device->input_pointer_;
     device->input_pointer_ = NULL;
   }
 
   if ((caps & WL_SEAT_CAPABILITY_TOUCH) && !device->input_touch_) {
     device->input_touch_ = new WaylandTouchscreen();
+    device->input_touch_->OnSeatCapabilities(seat, caps);
   } else if (!(caps & WL_SEAT_CAPABILITY_TOUCH) && device->input_touch_) {
+    device->input_touch_->OnSeatCapabilities(seat, caps);
     delete device->input_touch_;
     device->input_touch_ = NULL;
   }
-
-  if (device->input_keyboard_)
-    device->input_keyboard_->OnSeatCapabilities(seat, caps);
-
-  if (device->input_pointer_)
-    device->input_pointer_->OnSeatCapabilities(seat, caps);
-
-  if (device->input_touch_)
-    device->input_touch_->OnSeatCapabilities(seat, caps);
 }
 
 void WaylandInputDevice::SetFocusWindowHandle(unsigned windowhandle) {