From 5845e16c3f5ddb413c7960f8a82048cdf313d3e5 Mon Sep 17 00:00:00 2001 From: "alecf%netscape.com" Date: Thu, 8 Jun 2000 04:18:42 +0000 Subject: [PATCH] fix for 41770 - new filters were not saving - any kind of error during filter creation was not clearing gFilter, which meant the filter would not get added to the filterlist - the filter type was uninitialized, so none of the rules would get saved git-svn-id: svn://10.0.0.236/trunk@71775 18797224-902f-48f8-a5cc-f745e15eee43 --- .../mailnews/base/search/resources/content/FilterEditor.js | 7 ++++++- mozilla/mailnews/base/search/src/nsMsgFilter.cpp | 5 +++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/mozilla/mailnews/base/search/resources/content/FilterEditor.js b/mozilla/mailnews/base/search/resources/content/FilterEditor.js index a005ce5a6cf..7d05c574fe7 100644 --- a/mozilla/mailnews/base/search/resources/content/FilterEditor.js +++ b/mozilla/mailnews/base/search/resources/content/FilterEditor.js @@ -161,6 +161,7 @@ function saveFilter() { if (!targetUri || targetUri == "") { var str = Bundle.GetStringFromName("mustSelectFolder"); window.alert(str); + gFilter = null; return false; } gFilter.actionTargetFolderUri = targetUri; @@ -170,13 +171,17 @@ function saveFilter() { if (!gActionPriority.selectedItem) { var str = Bundle.GetStringFromName("mustSelectPriority"); window.alert(str); + gFilter = null; return false; } gFilter.actionPriority = gActionPriority.selectedItem.getAttribute("data"); } + - if (isNewFilter) + if (isNewFilter) { + dump("new filter.. inserting into " + gFilterList + "\n"); gFilterList.insertFilterAt(0, gFilter); + } // success! return true; diff --git a/mozilla/mailnews/base/search/src/nsMsgFilter.cpp b/mozilla/mailnews/base/search/src/nsMsgFilter.cpp index dfe728935f1..6a69b0ada19 100644 --- a/mozilla/mailnews/base/search/src/nsMsgFilter.cpp +++ b/mozilla/mailnews/base/search/src/nsMsgFilter.cpp @@ -49,6 +49,7 @@ nsMsgRuleAction::~nsMsgRuleAction() nsMsgFilter::nsMsgFilter() : + m_type(1), m_filterList(nsnull) { NS_INIT_REFCNT(); @@ -472,8 +473,8 @@ nsresult nsMsgFilter::SaveRule() GetActionFilingStr(m_action.m_type, actionFilingStr); err = filterList->WriteStrAttr(nsIMsgFilterList::attribAction, actionFilingStr); - if (!NS_SUCCEEDED(err)) - return err; + NS_ENSURE_SUCCESS(err, err); + switch(m_action.m_type) { case nsMsgFilterAction::MoveToFolder: