Krate: Fix bugs that locked zone state can't be got. 47/78847/1
authorSungbae Yoo <sungbae.yoo@samsung.com>
Thu, 7 Jul 2016 05:37:20 +0000 (14:37 +0900)
committerSungbae Yoo <sungbae.yoo@samsung.com>
Thu, 7 Jul 2016 05:37:20 +0000 (14:37 +0900)
Change-Id: I87e12908062365c83e41cdbbe5df36d30fb791bf
Signed-off-by: Sungbae Yoo <sungbae.yoo@samsung.com>
server/zone/zone.cpp

index 357b982..3490ece 100644 (file)
@@ -646,16 +646,16 @@ int ZoneManager::getZoneState(const std::string& name)
 
        try {
                runtime::User user(name);
-               dbus::Connection& systemDBus = dbus::Connection::getSystem();
-               const dbus::Variant& var = systemDBus.methodcall
+               try {
+                       dbus::Connection& systemDBus = dbus::Connection::getSystem();
+                       const dbus::Variant& var = systemDBus.methodcall
                                                                                   ("org.freedesktop.login1",
                                                                                        "/org/freedesktop/login1",
                                                                                        "org.freedesktop.login1.Manager",
                                                                                        "GetUser",
                                                                                        -1, "(o)", "(u)", user.getUid());
-               if (var) {
                        return ZoneManager::State::Running;
-               } else {
+               } catch (runtime::Exception& e) {
                        return ZoneManager::State::Locked;
                }
        } catch (runtime::Exception& e) {