mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-03 12:35:58 +00:00
Fix for bug 109081. IsEnable/GetEnable should return true by default and not false. That will avoid the regression 128659 caused by my previous checking for 109081. R=bryner, SR=blizzard, A=blizzard
This commit is contained in:
parent
cab04c2fb6
commit
f62c1a7727
@ -2063,6 +2063,12 @@ GlobalWindowImpl::Focus()
|
||||
nsCOMPtr<nsIBaseWindow> treeOwnerAsWin;
|
||||
GetTreeOwner(getter_AddRefs(treeOwnerAsWin));
|
||||
if (treeOwnerAsWin) {
|
||||
PRBool isEnabled = PR_TRUE;
|
||||
if (NS_SUCCEEDED(treeOwnerAsWin->GetEnabled(&isEnabled)) && !isEnabled) {
|
||||
NS_WARNING( "Should not try to set the focus on a disabled window" );
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
treeOwnerAsWin->SetVisibility(PR_TRUE);
|
||||
nsCOMPtr<nsIEmbeddingSiteWindow> embeddingWin(do_GetInterface(treeOwnerAsWin));
|
||||
if (embeddingWin)
|
||||
@ -3413,8 +3419,15 @@ GlobalWindowImpl::Activate()
|
||||
*/
|
||||
nsCOMPtr<nsIBaseWindow> treeOwnerAsWin;
|
||||
GetTreeOwner(getter_AddRefs(treeOwnerAsWin));
|
||||
if (treeOwnerAsWin)
|
||||
if (treeOwnerAsWin) {
|
||||
PRBool isEnabled = PR_TRUE;
|
||||
if (NS_SUCCEEDED(treeOwnerAsWin->GetEnabled(&isEnabled)) && !isEnabled) {
|
||||
NS_WARNING( "Should not try to activate a disabled window" );
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
treeOwnerAsWin->SetVisibility(PR_TRUE);
|
||||
}
|
||||
|
||||
nsCOMPtr<nsIPresShell> presShell;
|
||||
mDocShell->GetPresShell(getter_AddRefs(presShell));
|
||||
|
@ -1166,7 +1166,9 @@ NS_METHOD nsWindow::Enable(PRBool aState)
|
||||
|
||||
NS_METHOD nsWindow::IsEnabled(PRBool *aState)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(aState);
|
||||
// looks easy enough, but...
|
||||
*aState = PR_TRUE;
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
@ -566,6 +566,8 @@ NS_IMETHODIMP nsChildView::Enable(PRBool aState)
|
||||
NS_IMETHODIMP nsChildView::IsEnabled(PRBool *aState)
|
||||
{
|
||||
// unimplemented.
|
||||
if (*aState)
|
||||
*aState = PR_TRUE;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -577,7 +577,7 @@ NS_IMETHODIMP nsWidget::Enable(PRBool aState)
|
||||
NS_IMETHODIMP nsWidget::IsEnabled(PRBool *aState)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(aState);
|
||||
*aState = mWidget && GTK_WIDGET_SENSITIVE(mWidget) ? PR_TRUE : PR_FALSE;
|
||||
*aState = !mWidget || GTK_WIDGET_SENSITIVE(mWidget);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -1885,9 +1885,7 @@ NS_METHOD nsWindow::Enable(PRBool bState)
|
||||
NS_METHOD nsWindow::IsEnabled(PRBool *aState)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(aState);
|
||||
*aState = PR_FALSE;
|
||||
if (mWnd && ::IsWindowEnabled(mWnd))
|
||||
*aState = PR_TRUE;
|
||||
*aState = !mWnd || ::IsWindowEnabled(mWnd);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -718,10 +718,10 @@ NS_IMETHODIMP nsXULWindow::GetEnabled(PRBool *aEnabled)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(aEnabled);
|
||||
if (mWindow)
|
||||
mWindow->IsEnabled(aEnabled);
|
||||
else
|
||||
*aEnabled = PR_FALSE; // better guess than most
|
||||
return NS_OK;
|
||||
return mWindow->IsEnabled(aEnabled);
|
||||
|
||||
*aEnabled = PR_TRUE; // better guess than most
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsXULWindow::SetEnabled(PRBool aEnable)
|
||||
|
Loading…
x
Reference in New Issue
Block a user