aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYordan Karadzhov <ykaradzhov@vmware.com>2019-03-14 17:10:10 +0200
committerSteven Rostedt (VMware) <rostedt@goodmis.org>2019-03-22 15:14:11 -0400
commit3540f8ac206ecb607f188cce6c49831da429b094 (patch)
treefff3b757eaffb392bae012424ab4ceccce301fdd
parent3a50d107e9d39f554cdd6beb5eab17092ee6d0d8 (diff)
downloadtrace-cmd-3540f8ac206ecb607f188cce6c49831da429b094.tar.gz
kernel-shark: Avoid 0/0 spliter ratio in KsSession
Sometimes when we save the session QSplitter::sizes() returns 0/0 ratio (no idea why). Later when we load the session the 0/0 ratio results in misbehavior of the splitter position. Link: http://lore.kernel.org/linux-trace-devel/20190314151012.905-11-ykaradzhov@vmware.com Signed-off-by: Yordan Karadzhov <ykaradzhov@vmware.com> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
-rw-r--r--kernel-shark/src/KsSession.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel-shark/src/KsSession.cpp b/kernel-shark/src/KsSession.cpp
index b1518183..9d867768 100644
--- a/kernel-shark/src/KsSession.cpp
+++ b/kernel-shark/src/KsSession.cpp
@@ -256,7 +256,7 @@ void KsSession::loadSplitterSize(QSplitter *splitter)
{
kshark_config_doc *spl = kshark_config_alloc(KS_CONFIG_JSON);
json_object *jspl, *jgraphsize, *jviewsize;
- int graphSize, viewSize;
+ int graphSize(1), viewSize(1);
QList<int> sizes;
if (!kshark_config_doc_get(_config, "Splitter", spl))
@@ -269,6 +269,10 @@ void KsSession::loadSplitterSize(QSplitter *splitter)
graphSize = json_object_get_int(jgraphsize);
viewSize = json_object_get_int(jviewsize);
+ if (graphSize == 0 && viewSize == 0) {
+ /* 0/0 spliter ratio is undefined. Make it 1/1. */
+ viewSize = graphSize = 1;
+ }
}
sizes << graphSize << viewSize;