diff --git a/redis-desktop-manager/source/models/items/RedisServerItem.cpp b/redis-desktop-manager/source/models/items/RedisServerItem.cpp index aefb082d..c9da401f 100644 --- a/redis-desktop-manager/source/models/items/RedisServerItem.cpp +++ b/redis-desktop-manager/source/models/items/RedisServerItem.cpp @@ -25,6 +25,7 @@ void RedisServerItem::runDatabaseLoading() return; setBusyIcon(); + getItemNameFromConnection(); connect(connection, SIGNAL(error(QString)), this, SLOT(proccessError(QString))); connect(connection, SIGNAL(dbListLoaded(RedisConnectionAbstract::RedisDatabases)), diff --git a/redis-desktop-manager/source/redis/Response.cpp b/redis-desktop-manager/source/redis/Response.cpp index d703b5fe..2b1964f3 100644 --- a/redis-desktop-manager/source/redis/Response.cpp +++ b/redis-desktop-manager/source/redis/Response.cpp @@ -52,26 +52,31 @@ QVariant Response::getValue() QVariant parsedResponse; - switch (t) { + try { - case Status: - case Error: - parsedResponse = QVariant(getStringResponse(responseSource)); - break; + switch (t) { + case Status: + case Error: + parsedResponse = QVariant(getStringResponse(responseSource)); + break; - case Integer: - parsedResponse = QVariant(getStringResponse(responseSource).toInt()); - break; + case Integer: + parsedResponse = QVariant(getStringResponse(responseSource).toInt()); + break; - case Bulk: - parsedResponse = QVariant(parseBulk(responseSource)); - break; + case Bulk: + parsedResponse = QVariant(parseBulk(responseSource)); + break; - case MultiBulk: - parsedResponse = QVariant(parseMultiBulk(responseSource)); - break; - case Unknown: - break; + case MultiBulk: + parsedResponse = QVariant(parseMultiBulk(responseSource)); + break; + case Unknown: + break; + } + + } catch (RedisException &e) { + parsedResponse = QVariant(QStringList() << e.what()); } return parsedResponse; @@ -128,7 +133,7 @@ QStringList Response::parseMultiBulk(const QByteArray& response) } continue; - } else if (type == MultiBulk) { + } else if (type == MultiBulk) { throw RedisException("Recursive parsing of MultiBulk replies not supported"); } else { break;