From dbfaecfaef80a4d1b9e4ddb225873f03309e04ee Mon Sep 17 00:00:00 2001 From: Julia Beliaeva Date: Fri, 22 Mar 2024 15:37:20 +0100 Subject: [PATCH] [vcs-log] do not reset other filters when one filter is removed GitOrigin-RevId: 8f87c1b5757eb97fb2324092b3399b4d892b56e9 --- .../impl/src/com/intellij/vcs/log/ui/filter/FilterModel.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/filter/FilterModel.kt b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/filter/FilterModel.kt index 73d98784c960..b73024158795 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/filter/FilterModel.kt +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/filter/FilterModel.kt @@ -6,6 +6,7 @@ import com.intellij.vcs.log.VcsLogFilterCollection import com.intellij.vcs.log.impl.MainVcsLogUiProperties import com.intellij.vcs.log.statistics.VcsLogUsageTriggerCollector import com.intellij.vcs.log.visible.filters.VcsLogFilterObject +import com.intellij.vcs.log.visible.filters.without import kotlin.properties.ReadWriteProperty import kotlin.reflect.KProperty @@ -129,7 +130,7 @@ abstract class FilterModel internal constructor(@JvmField protected val return object : ReadWriteProperty { override fun getValue(thisRef: MultipleFilterModel, property: KProperty<*>): F? = thisRef.getFilter(key) override fun setValue(thisRef: MultipleFilterModel, property: KProperty<*>, value: F?) { - setFilter(VcsLogFilterObject.collection(value)) + setFilter(if (value == null) getFilter()?.without(key) else VcsLogFilterObject.collection(value)) } } }