message: Check if not equal, because if the state is conflicted this leads to a wrong conclusion and crashes the application
diff: @@ -466,10 +466,9 @@ void DoubleTreeWidget::loadSelection() {
  }
  if (!index.isValid() ||
  - (mSelectedFile.stagedModel &&
  - state == git::Index::StagedState::Unstaged) ||
  + (mSelectedFile.stagedModel && state != git::Index::StagedState::Staged) ||
  (!mSelectedFile.stagedModel &&
  - state == git::Index::StagedState::Staged)) {
  + state != git::Index::StagedState::Unstaged)) {
  mSelectedFile.filename = "";
  if (mDiffTreeModel->rowCount() > 0) {
  index = mDiffTreeModel->index(0, 0);
  @@ -479,9 +478,6 @@ void DoubleTreeWidget::loadSelection() {
  }
  }
  - // TODO: problem: if file does not exist anymore, the current index cannot be
  - // restored anymore
  -
  mIgnoreSelectionChange = true;
  if (mSelectedFile.stagedModel) {
  TreeProxy *proxy = static_cast<TreeProxy *>(stagedFiles->model());
  