Ignore:
Timestamp:
Oct 4, 1999, 10:53:46 PM (26 years ago)
Author:
sandervl
Message:

Handle WM_SETTEXT + fInteralMsg flag for message handling

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/user32/win32wbase.cpp

    r1118 r1133  
    1 /* $Id: win32wbase.cpp,v 1.22 1999-10-04 09:56:02 sandervl Exp $ */
     1/* $Id: win32wbase.cpp,v 1.23 1999-10-04 20:53:45 sandervl Exp $ */
    22/*
    33 * Win32 Window Base Class for OS/2
     
    7979  fFirstShow       = TRUE;
    8080  fIsDialog        = FALSE;
     81  fInternalMsg     = FALSE;
    8182
    8283  windowNameA      = NULL;
     
    14091410
    14101411    case WM_SETTEXT:
    1411         return 0;
     1412        if(!fInternalMsg) {
     1413                return SetWindowTextA((LPSTR)lParam);
     1414        }
     1415        else    return 0;
    14121416
    14131417    case WM_SETREDRAW:
     
    15651569        return min(wndNameLength, wParam);
    15661570
     1571    case WM_SETTEXT:
     1572        if(!fInternalMsg) {
     1573                return SetWindowTextW((LPWSTR)lParam);
     1574        }
     1575        else    return 0;
     1576
    15671577    default:
    15681578        return DefWindowProcA(Msg, wParam, lParam);
     
    15731583LRESULT Win32BaseWindow::SendMessageA(ULONG Msg, WPARAM wParam, LPARAM lParam)
    15741584{
     1585 LRESULT rc;
     1586 BOOL    fInternalMsgBackup = fInternalMsg;
     1587
    15751588  if(Msg != WM_GETDLGCODE && Msg != WM_ENTERIDLE) {//sent *very* often
    15761589        if(PostSpyMessage(getWindowHandle(), Msg, wParam, lParam) == FALSE)
     
    15811594        return(0);
    15821595  }
     1596  fInternalMsg = FALSE;
    15831597  switch(Msg)
    15841598  {
     
    15871601                if(win32wndproc(getWindowHandle(), WM_CREATE, 0, lParam) == -1) {
    15881602                        dprintf(("WM_CREATE returned -1\n"));
    1589                         return(-1); //don't create window
     1603                        rc = -1; //don't create window
     1604                        break;
    15901605                }
    15911606                NotifyParent(Msg, wParam, lParam);
    15921607
    1593                 return(0);
    1594         }
    1595         case WM_SETTEXT: //TODO: Nothing happens if passed to DefWindowProc
    1596                 return win32wndproc(getWindowHandle(), WM_SETTEXT, wParam, lParam);
     1608                rc = 0;
     1609                break;
     1610        }
     1611        case WM_SETTEXT:
     1612                rc = win32wndproc(getWindowHandle(), WM_SETTEXT, wParam, lParam);
     1613                break;
    15971614
    15981615        case WM_LBUTTONDOWN:
     
    16001617        case WM_RBUTTONDOWN:
    16011618                NotifyParent(Msg, wParam, lParam);
    1602                 return win32wndproc(getWindowHandle(), Msg, wParam, lParam);
     1619                rc = win32wndproc(getWindowHandle(), Msg, wParam, lParam);
     1620                break;
    16031621
    16041622        case WM_DESTROY:
    1605                 win32wndproc(getWindowHandle(), WM_NCDESTROY, 0, 0);
    1606                 NotifyParent(Msg, wParam, lParam);
    1607                 return win32wndproc(getWindowHandle(), WM_DESTROY, 0, 0);
     1623                rc = win32wndproc(getWindowHandle(), WM_DESTROY, 0, 0);
     1624                break;
     1625
    16081626        default:
    1609                 return win32wndproc(getWindowHandle(), Msg, wParam, lParam);
    1610   }
     1627                rc = win32wndproc(getWindowHandle(), Msg, wParam, lParam);
     1628                break;
     1629  }
     1630  fInternalMsg = fInternalMsgBackup;
     1631  return rc;
    16111632}
    16121633//******************************************************************************
     
    16141635LRESULT Win32BaseWindow::SendMessageW(ULONG Msg, WPARAM wParam, LPARAM lParam)
    16151636{
     1637 LRESULT rc;
     1638 BOOL    fInternalMsgBackup = fInternalMsg;
     1639
    16161640  if(Msg != WM_GETDLGCODE && Msg != WM_ENTERIDLE) {//sent *very* often
    16171641        if(PostSpyMessage(getWindowHandle(), Msg, wParam, lParam) == FALSE)
     
    16221646        return(0);
    16231647  }
     1648  fInternalMsg = FALSE;
    16241649  switch(Msg)
    16251650  {
     
    16281653                if(win32wndproc(getWindowHandle(), WM_CREATE, 0, lParam) == -1) {
    16291654                        dprintf(("WM_CREATE returned -1\n"));
    1630                         return(-1); //don't create window
     1655                        rc = -1; //don't create window
     1656                        break;
    16311657                }
    16321658                NotifyParent(Msg, wParam, lParam);
    16331659
    1634                 return(0);
    1635         }
    1636         case WM_SETTEXT: //TODO: Nothing happens if passed to DefWindowProc
    1637                 return win32wndproc(getWindowHandle(), WM_SETTEXT, wParam, lParam);
     1660                rc = 0;
     1661                break;
     1662        }
     1663        case WM_SETTEXT:
     1664                rc = win32wndproc(getWindowHandle(), WM_SETTEXT, wParam, lParam);
     1665                break;
    16381666
    16391667        case WM_LBUTTONDOWN:
     
    16411669        case WM_RBUTTONDOWN:
    16421670                NotifyParent(Msg, wParam, lParam);
    1643                 return win32wndproc(getWindowHandle(), Msg, wParam, lParam);
     1671                rc = win32wndproc(getWindowHandle(), Msg, wParam, lParam);
     1672                break;
    16441673
    16451674        case WM_DESTROY:
    16461675                win32wndproc(getWindowHandle(), WM_NCDESTROY, 0, 0);
    16471676                NotifyParent(Msg, wParam, lParam);
    1648                 return win32wndproc(getWindowHandle(), WM_DESTROY, 0, 0);
     1677                rc = win32wndproc(getWindowHandle(), WM_DESTROY, 0, 0);
     1678                break;
    16491679
    16501680        default:
    1651                 return win32wndproc(getWindowHandle(), Msg, wParam, lParam);
    1652   }
     1681                rc = win32wndproc(getWindowHandle(), Msg, wParam, lParam);
     1682                break;
     1683  }
     1684  fInternalMsg = fInternalMsgBackup;
     1685  return rc;
    16531686}
    16541687//******************************************************************************
     
    16571690LRESULT Win32BaseWindow::SendInternalMessageA(ULONG Msg, WPARAM wParam, LPARAM lParam)
    16581691{
     1692 LRESULT rc;
     1693 BOOL    fInternalMsgBackup = fInternalMsg;
     1694
    16591695  if(PostSpyMessage(getWindowHandle(), Msg, wParam, lParam) == FALSE)
    16601696        dprintf(("SendInternalMessageA %s for %x %x %x", GetMsgText(Msg), getWindowHandle(), wParam, lParam));
     
    16631699        return(0);
    16641700  }
     1701  fInternalMsg = TRUE;
    16651702  switch(Msg)
    16661703  {
     
    16691706                if(win32wndproc(getWindowHandle(), WM_CREATE, 0, lParam) == -1) {
    16701707                        dprintf(("WM_CREATE returned -1\n"));
    1671                         return(-1); //don't create window
     1708                        rc = -1; //don't create window
     1709                        break;
    16721710                }
    16731711                NotifyParent(Msg, wParam, lParam);
    1674 
    1675                 return(0);
     1712                rc = 0;
     1713                break;
    16761714        }
    16771715        case WM_LBUTTONDOWN:
     
    16791717        case WM_RBUTTONDOWN:
    16801718                NotifyParent(Msg, wParam, lParam);
    1681                 return win32wndproc(getWindowHandle(), Msg, wParam, lParam);
     1719                rc = win32wndproc(getWindowHandle(), Msg, wParam, lParam);
     1720                break;
    16821721
    16831722        case WM_DESTROY:
    16841723                win32wndproc(getWindowHandle(), WM_NCDESTROY, 0, 0);
    16851724                NotifyParent(Msg, wParam, lParam);
    1686                 return win32wndproc(getWindowHandle(), WM_DESTROY, 0, 0);
     1725                rc = win32wndproc(getWindowHandle(), WM_DESTROY, 0, 0);
     1726                break;
    16871727        default:
    1688                 return win32wndproc(getWindowHandle(), Msg, wParam, lParam);
    1689   }
     1728                rc = win32wndproc(getWindowHandle(), Msg, wParam, lParam);
     1729                break;
     1730  }
     1731  fInternalMsg = fInternalMsgBackup;
     1732  return rc;
    16901733}
    16911734//******************************************************************************
     
    16951738LRESULT Win32BaseWindow::SendInternalMessageW(ULONG Msg, WPARAM wParam, LPARAM lParam)
    16961739{
     1740 LRESULT rc;
     1741 BOOL    fInternalMsgBackup = fInternalMsg;
     1742
    16971743  if(PostSpyMessage(getWindowHandle(), Msg, wParam, lParam) == FALSE)
    16981744        dprintf(("SendInternalMessageW %s for %x %x %x", GetMsgText(Msg), getWindowHandle(), wParam, lParam));
     
    17011747        return(0);
    17021748  }
     1749  fInternalMsg = TRUE;
    17031750  switch(Msg)
    17041751  {
     
    17071754                if(win32wndproc(getWindowHandle(), WM_CREATE, 0, lParam) == -1) {
    17081755                        dprintf(("WM_CREATE returned -1\n"));
    1709                         return(-1); //don't create window
     1756                        rc = -1; //don't create window
     1757                        break;
    17101758                }
    17111759                NotifyParent(Msg, wParam, lParam);
    1712 
    1713                 return(0);
     1760                rc = 0;
     1761                break;
    17141762        }
    17151763        case WM_LBUTTONDOWN:
     
    17171765        case WM_RBUTTONDOWN:
    17181766                NotifyParent(Msg, wParam, lParam);
    1719                 return win32wndproc(getWindowHandle(), Msg, wParam, lParam);
     1767                rc = win32wndproc(getWindowHandle(), Msg, wParam, lParam);
     1768                break;
    17201769
    17211770        case WM_DESTROY:
    17221771                win32wndproc(getWindowHandle(), WM_NCDESTROY, 0, 0);
    17231772                NotifyParent(Msg, wParam, lParam);
    1724                 return win32wndproc(getWindowHandle(), WM_DESTROY, 0, 0);
     1773                rc = win32wndproc(getWindowHandle(), WM_DESTROY, 0, 0);
     1774                break;
    17251775        default:
    1726                 return win32wndproc(getWindowHandle(), Msg, wParam, lParam);
    1727   }
     1776                rc = win32wndproc(getWindowHandle(), Msg, wParam, lParam);
     1777                break;
     1778  }
     1779  fInternalMsg = fInternalMsgBackup;
     1780  return rc;
    17281781}
    17291782//******************************************************************************
Note: See TracChangeset for help on using the changeset viewer.