Closed Bug 218021 Opened 21 years ago Closed 21 years ago

nsIPromptService::ConfirmCheck doesn't set checkValue, if Cancel

Categories

(Core Graveyard :: Embedding: APIs, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: BenB, Assigned: adamlock)

Details

Attachments

(1 file)

Reproduction:
1. Execute:
  var checkObj = {value: false};
  var answer = GetPromptService().confirmCheck(window,
                                       "Title", "Text", "Checkbox",
                                       checkObj);
  dump("checkbox state: " + (checkObj.value ? "on" : "off") + "\n");
2. Check checkbox, press Cancel

Actual result:
checkbox state: off

Expected result:
checkbox state: on

Fix:
embedding/components/windowwatcher/src/nsPromptService.cpp - ConfirmCheck():
-  if (*_retval) {
     block->GetInt(eCheckboxState, & tempInt);
     *checkValue = PRBool( tempInt );
-  }
This is important for "Remember this decision" kind of dialogs - you'll want to
remember the declination as well.
Attached patch PatchSplinter Review
The same patch as an attachment
Comment on attachment 131573 [details] [diff] [review]
Patch

r=adamlock

Requesting sr on this no-brainer
Attachment #131573 - Flags: superreview?(bz-vacation)
Attachment #131573 - Flags: review+
Comment on attachment 131573 [details] [diff] [review]
Patch

sr=bzbarsky if those lines are also outdented to the right level.
Attachment #131573 - Flags: superreview?(bz-vacation) → superreview+
Fix checked in
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: