1. Список говнокодов пользователя Hsilgos

    Всего: 1

  2. C++ / Говнокод #3412

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    void foo()
    {
     if (!wxFile::Exists(defDir + resourcePath)) return false;
     HBITMAP *bmp = new HBITMAP;
     wxString path = defDir + resourcePath;
     (*bmp) = (HBITMAP)LoadImage(0, path.c_str(), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION);
     if (bmp != NULL) (*pMap)[resourceName] = bmp; else return false;
     return true;
    }
    
    bool SXXXXBitmapStorage::releaseItem(wxString resourceName)
    {
     ScrollBitmapHash::iterator iterator = pMap->find(resourceName);
     if (iterator == pMap->end()) return false;
     if (iterator->second != NULL) delete (HBITMAP*)iterator->second;
     pMap->erase(resourceName);
     return true;
    }
    
    HDC* SXXXXBitmapStorage::adjustToDC(wxString resourceName)//we must delete this object
    {
     HBITMAP *bmp = this->getItem(resourceName);
     if (bmp == NULL) return NULL;
     HDC *pDC = new HDC();
     (*pDC) = CreateCompatibleDC(0);
     SelectObject(*pDC, *bmp);
     return pDC;
    }

    И вы не поверите, этот код работал! Правда, конечно же, была утечка ресурсов

    Hsilgos, 07 Июня 2010

    Комментарии (14)