Changeset 1424


Ignore:
Timestamp:
Jun 6, 2009, 9:16:12 PM (16 years ago)
Author:
Gregg Young
Message:

Show either file system type or drive label beside dirve letter in tree. (tickets 47 & 339)

Location:
trunk/dll
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/collect.c

    r1409 r1424  
    835835                dcd->ullTotalBytes += FillInRecordFromFSA(dcd->hwndCnr, pci,
    836836                                                          fullname,
    837                                                           &fs4, FALSE, dcd);
     837                                                          &fs4, FALSE, NULL, dcd);
    838838                memset(&ri, 0, sizeof(RECORDINSERT));
    839839                ri.cb = sizeof(RECORDINSERT);
  • trunk/dll/filldir.c

    r1402 r1424  
    108108#include "common.h"                     // IncrThreadUsage
    109109#include "excputil.h"                   // xbeginthread
     110#include "fm3dlg.h"                     // INFO_LABEL
    110111
    111112VOID StubbyScanThread(VOID * arg);
     
    719720                              const PSZ pszFileName,
    720721                              const PFILESTATUS4L pfsa4,
    721                               const BOOL partial,
     722                              const BOOL partial,
     723                              CHAR *szFSType,
    722724                              DIRCNRDATA *dcd)  // Optional
    723725{
     
    725727  CHAR *p;
    726728  ULONG flags;
     729  CHAR szBuf[80];
    727730
    728731  // fill in a container record from a FILESTATUS4L structure
     
    730733  pci->hwndCnr = hwndCnr;
    731734  pci->pszFileName = xstrdup(pszFileName, pszSrcFile, __LINE__);
    732   //strcpy(pci->pszFileName, pszFileName);
    733735  flags = driveflags[toupper(*pci->pszFileName) - 'A'];
    734   // load the object's Subject, if required
    735   //pci->pszSubject = NullStr;
    736   if (pfsa4->cbList > 4 &&
     736  if ((pfsa4->cbList > 4) &&
    737737      dcd &&
    738738      fLoadSubject &&
     
    876876  else
    877877    p = pci->pszFileName;
    878   pci->pszDisplayName = p;
     878  if (szFSType && (fShowSysType || fShowLabel)) {
     879    strcpy(szBuf, p);
     880    strcat(szBuf, " [");
     881    strcat(szBuf, szFSType);
     882    strcat(szBuf, "]");
     883    pci->pszDisplayName = xstrdup(szBuf, pszSrcFile, __LINE__);
     884  }
     885  else
     886    pci->pszDisplayName = p;
    879887
    880888  //comma format the file size for large file support
     
    12441252    while (pci && (INT)pci != -1) {
    12451253      if ((pci->attrFile & FILE_DIRECTORY))
    1246         //if (fInitialDriveScan)
     1254        if (!fInitialDriveScan)
    12471255          Stubby(hwndCnr, pci);
    1248         /*else {
     1256        else {
    12491257          while (StubbyScanCount != 0)
    12501258            DosSleep(50);
    12511259          Stubby(hwndCnr, pci);
    1252         } */
     1260        }
    12531261        //Stubby(hwndCnr, pci);
    12541262      pci = WinSendMsg(hwndCnr, CM_QUERYRECORD, MPFROMP(pci),
     
    13021310  CHAR suggest[32];
    13031311  CHAR szDrive[] = " :\\";
    1304   CHAR szFSType[CCHMAXPATH];
     1312  CHAR szFSType[CCHMAXPATH]; 
    13051313  FILESTATUS4L fsa4;
    13061314  APIRET rc;
     
    13661374      ULONG flags = 0;
    13671375      ULONG size = sizeof(ULONG);
     1376      BOOL FSInfo = FALSE;
     1377      struct {
     1378              ULONG serial;
     1379              CHAR volumelength;
     1380              CHAR volumelabel[CCHMAXPATH];
     1381             } volser;
    13681382
    13691383      *szDrive = (CHAR)x + 'A';         // Build path spec
     
    13811395          removable = CheckDrive(*szDrive, szFSType, &ulDriveType);
    13821396          driveserial[x] = -1;
    1383           if (removable != -1) {
    1384             struct {
    1385               ULONG serial;
    1386               CHAR volumelength;
    1387               CHAR volumelabel[CCHMAXPATH];
    1388             } volser;
    1389 
    1390             DosError(FERR_DISABLEHARDERR);
    1391             if (!DosQueryFSInfo((ULONG) x,
    1392                                 FSIL_VOLSER, &volser, sizeof(volser))) {
    1393               driveserial[x] = volser.serial;
    1394             }
     1397          if (removable != -1) {
     1398            DosError(FERR_DISABLEHARDERR);
     1399            if (!DosQueryFSInfo((ULONG) x + 1,
     1400                                FSIL_VOLSER, &volser, sizeof(volser))) {
     1401              driveserial[x] = volser.serial;
     1402              FSInfo = TRUE;
     1403            }
     1404
    13951405          }
    13961406          else
     
    13981408
    13991409          memset(&fsa4, 0, sizeof(FILESTATUS4L));
    1400           driveflags[x] |= removable == -1 || removable == 1 ?
    1401                             DRIVE_REMOVABLE : 0;
     1410          driveflags[x] |= removable == -1 || removable == 1 ? DRIVE_REMOVABLE : 0;
    14021411          if (ulDriveType & DRIVE_REMOTE)
    14031412            driveflags[x] |= DRIVE_REMOTE;
     
    14471456            }
    14481457          }
     1458          if (strcmp(volser.volumelabel, "") != 0 && FSInfo && fShowLabel)
     1459            strcpy(szFSType, volser.volumelabel);
    14491460          pci->rc.flRecordAttr |= CRA_RECORDREADONLY;
    14501461          if ((ULONG)(toupper(*szDrive) - '@') == ulCurDriveNum)
     
    14711482                *suggest = '/';
    14721483                suggest[1] = 0;
    1473               }
    1474               sprintf(suggest + strlen(suggest), "%c" , toupper(*szDrive));
    1475               pci->pszFileName = xstrdup(szDrive, pszSrcFile, __LINE__);
    1476               pci->pszDisplayName = pci->pszFileName;
     1484              }
     1485
     1486              sprintf(suggest + strlen(suggest), "%c" , toupper(*szDrive));
     1487              pci->pszFileName = xstrdup(szDrive, pszSrcFile, __LINE__);
     1488              if (fShowSysType || fShowLabel) {
     1489                strcat(szDrive, " [");
     1490                strcat(szDrive, szFSType);
     1491                strcat(szDrive, "]");
     1492              }
     1493              pci->pszDisplayName = xstrdup(szDrive, pszSrcFile, __LINE__);
     1494              szDrive[3] = 0;
    14771495              pci->rc.pszIcon = pci->pszDisplayName;
    14781496              pci->attrFile = FILE_DIRECTORY;
     
    14801498              driveserial[x] = -1;
    14811499            }
    1482             else
    1483               FillInRecordFromFSA(hwndCnr, pci, szDrive, &fsa4, TRUE, NULL);
     1500            else
     1501              FillInRecordFromFSA(hwndCnr, pci, szDrive, &fsa4, TRUE, szFSType, NULL);
    14841502          }
    14851503          else {
    1486             // Removable volume
    1487             pci->pszFileName = xstrdup(szDrive, pszSrcFile, __LINE__);
    1488             pci->pszDisplayName = pci->pszFileName;
     1504            // Removable volume
     1505            pci->pszFileName = xstrdup(szDrive, pszSrcFile, __LINE__);
     1506            if (fShowSysType || fShowLabel) {
     1507              strcat(szDrive, " [");
     1508              strcat(szDrive, szFSType);
     1509              strcat(szDrive, "]");
     1510            }
     1511            pci->pszDisplayName = xstrdup(szDrive, pszSrcFile, __LINE__);
     1512            szDrive[3] = 0;
    14891513            pci->rc.pszIcon = pci->pszDisplayName;
    14901514            pci->attrFile = FILE_DIRECTORY;
     
    14981522        }
    14991523        else {
    1500           pci->rc.hptrIcon = hptrDunno;
    1501           pci->pszFileName = xstrdup(szDrive, pszSrcFile, __LINE__);
     1524          pci->rc.hptrIcon = hptrDunno;
     1525          pci->pszFileName = xstrdup(szDrive, pszSrcFile, __LINE__);
     1526          if (fShowSysType || fShowLabel) {
     1527            strcat(szDrive, " [");
     1528            strcat(szDrive, szFSType);
     1529            strcat(szDrive, "]");
     1530          }
     1531          pci->pszDisplayName = xstrdup(szDrive, pszSrcFile, __LINE__);
     1532          szDrive[3] = 0;
    15021533#         ifdef FORTIFY
    15031534          // Will be freed by TreeCnrWndProc WM_DESTROY
    15041535          Fortify_SetScope(pci->pszFileName, 2);
    15051536#         endif
    1506           pci->pszDisplayName = pci->pszFileName;
    1507           pci->rc.pszIcon = pci->pszFileName;
     1537          pci->rc.pszIcon = pci->pszDisplayName;
    15081538          pci->attrFile = FILE_DIRECTORY;
    15091539          pci->pszDispAttr = FileAttrToString(pci->attrFile);
     
    15131543      else {
    15141544        // diskette drive (A or B)
    1515         pci->rc.hptrIcon = hptrFloppy;
    1516         pci->pszFileName = xstrdup(szDrive, pszSrcFile, __LINE__);
    1517         pci->pszDisplayName = pci->pszFileName;
     1545        pci->rc.hptrIcon = hptrFloppy;
     1546        pci->pszFileName = xstrdup(szDrive, pszSrcFile, __LINE__);
     1547        if (fShowSysType || fShowLabel)
     1548          strcat(szDrive, "  [Floppy]");
     1549        pci->pszDisplayName = xstrdup(szDrive, pszSrcFile, __LINE__);
     1550        szDrive[3] = 0;
    15181551        pci->rc.pszIcon = pci->pszDisplayName;
    15191552        pci->attrFile = FILE_DIRECTORY;
  • trunk/dll/filldir.h

    r1402 r1424  
    4646ULONGLONG FillInRecordFromFSA(HWND hwndCnr, PCNRITEM pci,
    4747                              const PSZ pszFileName, const PFILESTATUS4L pfsa4,
    48                               const BOOL partial, DIRCNRDATA *pdcd);
     48                              const BOOL partial, CHAR *szFSType, DIRCNRDATA *pdcd);
    4949VOID FreeCnrItem(HWND hwnd, PCNRITEM pci);
    5050VOID FreeCnrItemList(HWND hwnd, PCNRITEM pciFirst);
  • trunk/dll/fm3dlg.h

    r1395 r1424  
    605605
    606606#define CFGT_FRAME                                                                              25050
    607 #define CFGT_SWITCHTREEONFOCUS                                          25051
     607#define CFGT_SWITCHTREEONFOCUS                                                          25051
    608608#define CFGT_SWITCHTREE                                                                 25052
    609 #define CFGT_SWITCHTREEEXPAND                                                   25053
     609#define CFGT_SWITCHTREEEXPAND                                                           25053
    610610#define CFGT_COLLAPSEFIRST                                                              25054
    611 #define CFGT_DCOPENS                                                                            25055
     611#define CFGT_DCOPENS                                                                    25055
    612612#define CFGT_FOLLOWTREE                                                                 25056
    613613#define CFGT_VTREEOPENSWPS                                                              25057
    614 #define CFGT_TOPDIR                                                                             25058
    615 #define CFGT_SHOWENV                                                                            25059
    616 #define CFGT_ENVVARLIST                                                                         25060
     614#define CFGT_TOPDIR                                                                     25058
     615#define CFGT_SHOWENV                                                                    25059
     616#define CFGT_ENVVARLIST                                                                 25060
     617#define CFGT_SYSTYPELABEL                                                               25061
    617618
    618619#define CFGC_FRAME                                                                              25100
  • trunk/dll/fm3res.dlg

    r1405 r1424  
    19541954            WS_SAVEBITS
    19551955    BEGIN
    1956         AUTOCHECKBOX    "~Follow Drive Tree", CFGT_FOLLOWTREE, 4, 128, 132,
     1956        AUTOCHECKBOX    "~Follow Drive Tree", CFGT_FOLLOWTREE, 4, 128, 112,
    19571957                        10, WS_GROUP
    19581958        AUTOCHECKBOX    "~Double-click opens", CFGT_DCOPENS, 4, 116, 132, 10
     
    19701970        AUTOCHECKBOX    "Show ~env. vars in Tree", CFGT_SHOWENV, 4, 32, 110,
    19711971                        10
     1972        CONTROL         "Show file system type \"x\" or drive label \"=\" in tree(~3-state)",
     1973                        CFGT_SYSTYPELABEL, 122, 128, 196, 10,
     1974                        WC_BUTTON, BS_AUTO3STATE | WS_TABSTOP | WS_VISIBLE               
    19721975        ENTRYFIELD      "", CFGT_ENVVARLIST, 120, 32, 196, 8, ES_MARGIN | ES_AUTOSCROLL
    19731976        PUSHBUTTON      "~Help", IDM_HELP, 8, 4, 40, 14, BS_NOPOINTERFOCUS |
  • trunk/dll/init.c

    r1409 r1424  
    13091309  PrfQueryProfileData(fmprof, appname, "ShowEnv", &fShowEnv, &size);
    13101310  PrfQueryProfileString(fmprof, appname, "TreeEnvVarList", "PATH;DPATH;LIBPATH;HELP;BOOKSHELF;",
    1311                         pszTreeEnvVarList, MaxComLineStrg);
     1311                        pszTreeEnvVarList, MaxComLineStrg);
     1312  size = sizeof(BOOL);
     1313  PrfQueryProfileData(fmprof, FM3Str, "ShowSysType", &fShowSysType, &size);
     1314  size = sizeof(BOOL);
     1315  PrfQueryProfileData(fmprof, FM3Str, "ShowLabel", &fShowLabel, &size);
    13121316  size = sizeof(BOOL);
    13131317  PrfQueryProfileData(fmprof, appname, "LeaveTree", &fLeaveTree, &size);
  • trunk/dll/notebook.c

    r1409 r1424  
    155155BOOL fSeparateParms;
    156156BOOL fShowEnv;
     157BOOL fShowLabel;
     158BOOL fShowSysType;
    157159BOOL fShowTarget;
    158160BOOL fStartMaximized;
     
    13621364    WinCheckButton(hwnd, CFGT_SHOWENV, fShowEnv);
    13631365    WinSetDlgItemText(hwnd, CFGT_ENVVARLIST, pszTreeEnvVarList);
     1366    {
     1367      long th = fShowLabel ? 2 : (fShowSysType ? 1 : 0);
     1368      WinCheckButton(hwnd, CFGT_SYSTYPELABEL, th);
     1369    }
    13641370    return 0;
    13651371
     
    14111417
    14121418  case WM_CLOSE:
    1413     fVTreeOpensWPS = WinQueryButtonCheckstate(hwnd, CFGT_VTREEOPENSWPS);
    1414     PrfWriteProfileData(fmprof, FM3Str, "VTreeOpensWPS", &fVTreeOpensWPS,
    1415                         sizeof(BOOL));
    1416     fCollapseFirst = WinQueryButtonCheckstate(hwnd, CFGT_COLLAPSEFIRST);
    1417     PrfWriteProfileData(fmprof, appname, "CollapseFirst", &fCollapseFirst,
    1418                         sizeof(BOOL));
    1419     fSwitchTreeOnFocus = WinQueryButtonCheckstate(hwnd,
    1420                                                   CFGT_SWITCHTREEONFOCUS);
    1421     PrfWriteProfileData(fmprof, appname, "SwitchTreeOnFocus",
    1422                         &fSwitchTreeOnFocus, sizeof(BOOL));
    1423     fSwitchTreeExpand = WinQueryButtonCheckstate(hwnd, CFGT_SWITCHTREEEXPAND);
    1424     PrfWriteProfileData(fmprof, appname, "SwitchTreeExpand",
    1425                         &fSwitchTreeExpand, sizeof(BOOL));
    1426     fSwitchTree = WinQueryButtonCheckstate(hwnd, CFGT_SWITCHTREE);
    1427     PrfWriteProfileData(fmprof, appname, "SwitchTree", &fSwitchTree,
    1428                         sizeof(BOOL));
    1429     fFollowTree = WinQueryButtonCheckstate(hwnd, CFGT_FOLLOWTREE);
    1430     PrfWriteProfileData(fmprof, appname, "FollowTree", &fFollowTree,
    1431                         sizeof(BOOL));
    1432     fTopDir = WinQueryButtonCheckstate(hwnd, CFGT_TOPDIR);
    1433     PrfWriteProfileData(fmprof, appname, "TopDir", (PVOID) & fTopDir,
    1434                         sizeof(BOOL));
    1435     fDCOpens = WinQueryButtonCheckstate(hwnd, CFGT_DCOPENS);
    1436     PrfWriteProfileData(fmprof, FM3Str, "DoubleClickOpens", &fDCOpens,
    1437                         sizeof(BOOL));
    1438     fShowEnvChanged = (fShowEnv != WinQueryButtonCheckstate(hwnd, CFGT_SHOWENV));
    1439     fShowEnv = WinQueryButtonCheckstate(hwnd, CFGT_SHOWENV);
    1440     PrfWriteProfileData(fmprof, appname, "ShowEnv", &fShowEnv, sizeof(BOOL));
    14411419    {
    1442       char * pszTemp = xmalloc(WinQueryDlgItemTextLength(hwnd, CFGT_ENVVARLIST) + 1, pszSrcFile, __LINE__);
    1443       if (pszTemp) {
    1444         WinQueryDlgItemText(hwnd, CFGT_ENVVARLIST, MaxComLineStrg, pszTemp);
    1445         strupr(pszTemp);
    1446         if (strcmp(pszTemp, pszTreeEnvVarList)) {
    1447           fTreeEnvVarListChanged = TRUE;
    1448           strcpy(pszTreeEnvVarList, pszTemp);
    1449           PrfWriteProfileString(fmprof, appname, "TreeEnvVarList", pszTreeEnvVarList);
    1450         }
    1451         free(pszTemp);
    1452       }
    1453       if (hwndTree && (fShowEnvChanged || (fShowEnv && fTreeEnvVarListChanged)))
     1420      long test;
     1421 
     1422      test = WinQueryButtonCheckstate(hwnd, CFGT_SYSTYPELABEL);
     1423      fShowSysType = (test == 1);
     1424      fShowLabel = (test == 2);
     1425      PrfWriteProfileData(fmprof, FM3Str, "ShowSysType", &fShowSysType, sizeof(BOOL));
     1426      PrfWriteProfileData(fmprof,       FM3Str, "ShowLabel", &fShowLabel, sizeof(BOOL));
     1427      fVTreeOpensWPS = WinQueryButtonCheckstate(hwnd, CFGT_VTREEOPENSWPS);
     1428      PrfWriteProfileData(fmprof, FM3Str, "VTreeOpensWPS", &fVTreeOpensWPS,
     1429                          sizeof(BOOL));
     1430      fCollapseFirst = WinQueryButtonCheckstate(hwnd, CFGT_COLLAPSEFIRST);
     1431      PrfWriteProfileData(fmprof, appname, "CollapseFirst", &fCollapseFirst,
     1432                          sizeof(BOOL));
     1433      fSwitchTreeOnFocus = WinQueryButtonCheckstate(hwnd,
     1434                                                    CFGT_SWITCHTREEONFOCUS);
     1435      PrfWriteProfileData(fmprof, appname, "SwitchTreeOnFocus",
     1436                          &fSwitchTreeOnFocus, sizeof(BOOL));
     1437      fSwitchTreeExpand = WinQueryButtonCheckstate(hwnd, CFGT_SWITCHTREEEXPAND);
     1438      PrfWriteProfileData(fmprof, appname, "SwitchTreeExpand",
     1439                          &fSwitchTreeExpand, sizeof(BOOL));
     1440      fSwitchTree = WinQueryButtonCheckstate(hwnd, CFGT_SWITCHTREE);
     1441      PrfWriteProfileData(fmprof, appname, "SwitchTree", &fSwitchTree,
     1442                          sizeof(BOOL));
     1443      fFollowTree = WinQueryButtonCheckstate(hwnd, CFGT_FOLLOWTREE);
     1444      PrfWriteProfileData(fmprof, appname, "FollowTree", &fFollowTree,
     1445                          sizeof(BOOL));
     1446      fTopDir = WinQueryButtonCheckstate(hwnd, CFGT_TOPDIR);
     1447      PrfWriteProfileData(fmprof, appname, "TopDir", (PVOID) & fTopDir,
     1448                          sizeof(BOOL));
     1449      fDCOpens = WinQueryButtonCheckstate(hwnd, CFGT_DCOPENS);
     1450      PrfWriteProfileData(fmprof, FM3Str, "DoubleClickOpens", &fDCOpens,
     1451                          sizeof(BOOL));
     1452      fShowEnvChanged = (fShowEnv != WinQueryButtonCheckstate(hwnd, CFGT_SHOWENV));
     1453      fShowEnv = WinQueryButtonCheckstate(hwnd, CFGT_SHOWENV);
     1454      PrfWriteProfileData(fmprof, appname, "ShowEnv", &fShowEnv, sizeof(BOOL));
    14541455      {
    1455         PCNRITEM pci = WinSendMsg(WinWindowFromID
    1456                 (WinWindowFromID(hwndTree, FID_CLIENT), TREE_CNR), CM_QUERYRECORDEMPHASIS,
    1457                                   MPFROMLONG(CMA_FIRST),
    1458                                   MPFROMSHORT(CRA_SELECTED));
    1459         PostMsg(WinWindowFromID
    1460                 (WinWindowFromID(hwndTree, FID_CLIENT), TREE_CNR), WM_COMMAND,
    1461                 MPFROM2SHORT(IDM_RESCAN, 0), MPVOID);
    1462         pszTemp = xstrdup(pci->pszFileName, pszSrcFile, __LINE__);
    1463         if (pszTemp) {
    1464           if (!PostMsg(hwndTree, UM_SHOWME, MPFROMP(pszTemp), MPVOID))
    1465             free(pszTemp);
    1466           /* pszTemp is freed in the UM_SHOWME code */
    1467         }
    1468       }
    1469     }
    1470     break;
     1456        char * pszTemp = xmalloc(WinQueryDlgItemTextLength(hwnd, CFGT_ENVVARLIST) + 1, pszSrcFile, __LINE__);
     1457        if (pszTemp) {
     1458          WinQueryDlgItemText(hwnd, CFGT_ENVVARLIST, MaxComLineStrg, pszTemp);
     1459          strupr(pszTemp);
     1460          if (strcmp(pszTemp, pszTreeEnvVarList)) {
     1461            fTreeEnvVarListChanged = TRUE;
     1462            strcpy(pszTreeEnvVarList, pszTemp);
     1463            PrfWriteProfileString(fmprof, appname, "TreeEnvVarList", pszTreeEnvVarList);
     1464          }
     1465          free(pszTemp);
     1466        }
     1467        if (hwndTree && (fShowEnvChanged || (fShowEnv && fTreeEnvVarListChanged)))
     1468        {
     1469          PCNRITEM pci = WinSendMsg(WinWindowFromID
     1470                  (WinWindowFromID(hwndTree, FID_CLIENT), TREE_CNR), CM_QUERYRECORDEMPHASIS,
     1471                                    MPFROMLONG(CMA_FIRST),
     1472                                    MPFROMSHORT(CRA_SELECTED));
     1473          PostMsg(WinWindowFromID
     1474                  (WinWindowFromID(hwndTree, FID_CLIENT), TREE_CNR), WM_COMMAND,
     1475                  MPFROM2SHORT(IDM_RESCAN, 0), MPVOID);
     1476          pszTemp = xstrdup(pci->pszFileName, pszSrcFile, __LINE__);
     1477          if (pszTemp) {
     1478            if (!PostMsg(hwndTree, UM_SHOWME, MPFROMP(pszTemp), MPVOID))
     1479              free(pszTemp);
     1480            /* pszTemp is freed in the UM_SHOWME code */
     1481          }
     1482        }
     1483      }
     1484      break;
     1485    }
    14711486  }
    14721487  return WinDefDlgProc(hwnd, msg, mp1, mp2);
  • trunk/dll/notebook.h

    r1395 r1424  
    9090extern BOOL fSeparateParms;
    9191extern BOOL fShowEnv;
     92extern BOOL fShowLabel;
     93extern BOOL fShowSysType;
    9294extern BOOL fShowTarget;
    9395extern BOOL fStartMaximized;
  • trunk/dll/treecnr.c

    r1411 r1424  
    816816      Runtime_Error(pszSrcFile, __LINE__, NULL);
    817817    else {
     818      while (StubbyScanCount != 0)
     819        DosSleep(50);
    818820      RemoveCnrItems(dcd->hwndCnr, NULL, 0, CMA_FREE | CMA_INVALIDATE | CMA_ERASE);
    819821      WinSendMsg(dcd->hwndCnr,
     
    822824                 CM_SCROLLWINDOW,
    823825                 MPFROMSHORT(CMA_HORIZONTAL), MPFROMLONG(-1));
    824          while (StubbyScanCount != 0)
    825             DosSleep(50);
    826826      FillTreeCnr(dcd->hwndCnr, dcd->hwndParent);
    827827      if (fOkayMinimize) {
Note: See TracChangeset for help on using the changeset viewer.