diff options
author | Yordan Karadzhov <ykaradzhov@vmware.com> | 2019-03-14 17:10:10 +0200 |
---|---|---|
committer | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2019-03-22 15:14:11 -0400 |
commit | 3540f8ac206ecb607f188cce6c49831da429b094 (patch) | |
tree | fff3b757eaffb392bae012424ab4ceccce301fdd | |
parent | 3a50d107e9d39f554cdd6beb5eab17092ee6d0d8 (diff) | |
download | trace-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.cpp | 6 |
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; |