Time: 20/05/01,10:09:21
[JP, 8.-9.11.97]
pouzite jadro: is971105, nove moduly (z adresare 'new'): win.zip, ms971106, dc971105,
js971106
==========
[JP, 8.-9.11.97]
v adresari "is/public" je BORDEL! Co je v podadresari "live",
"isXXXXXX", ...? Smazte, prosim, vsechno nepotrebne a napiste
vsude (kde to jeste neni) README soubory (k cemu je ten adresar,
co se tam dava, kdo to tam dava..)
==========
[Michal Halva, 10/11/97]
[JP, 8.-9.11.97]
kdo uvolnuje pamet filtru? Nasel jsem nejake filtry, ktere v konstruktoru
alokuji pamet, ale nemaji zadny vlastni destruktor (byly to popisky, mozna to
uvolni genericky destruktor??)
==========
Filtr si pamet (krome popisek - id, name) uvolnuje sam ve svem destruktoru.
[Michal Halva, 17/11/97]
[JP, 8.-9.11.97]
nemohl by byt na zacatku kazdeho zdrojaku nejaky komentar? Co to je,
kdo to napsal/opravoval, datum posledni zmeny..
[JP, 8.-9.11.97]
nejaky konfiguracni soubor (header) a rozumna (a POPSANA!) sada symbolu
- aby se napr. muj symbol LSB_FIRST (z targa.h) nepouzival jako test
ANSII/Microsoft !!! (k tomu je _MSC_VER)
==========
[sopik,11/18/97]
LSB_FIRST jsem dal do komentaru takze by se v hlavickach io nemel obevovat. ale mel by se zrejme definovat nekde v jadre
[JP, 8.-9.11.97]
fseprgb.cpp - po new nesmi byt typ v zavorkach
x = new char* [5]; // spravne - bez zavorek!
[JP, 8.-9.11.97]
NESMI se michat new/delete a malloc/free! Nevim, jak to mate domluvene, ale videl jsem,
ze se v nejakych programech neco alokuje mallocem a neco operatorem new.
==========
Jadro pouziva vsude new/delete
proto musi byt pamet uvolnovana
v destruktorech cFilter,cXImage ...
alokovana pomoci
new
pokud si filtr uvolnuje pamet sam, je to jedno (pokud to udela spravne)
[MH, 17/11/97]
[JP, 8.-9.11.97]
sjednotit headery dialog.h (na PC se mi nepodarilo prelozit IMS projekt, protoze
nektere filtry pouzivaji dialogy (napr symbol GRAV_E), coz je definovano jedine v
gui_x/dialog.h a ten zas bez XWindow nemuzu pouzit...
[JP, 8.-9.11.97]
CM_OK, CM_NOTHING, atd. existuji pouze v X-ovske verzi! (soubor gui.h)
[JP, 8.-9.11.97]
ten neporadek s GUI/dialogama musi byt co nejdrive odstranen! Nejpozdeji ve stredu
musi byt uploadnuta verze, ve ktere pujde vsechno prelozit jak v radkove variante
(#undef GUI), tak v OBOU GUI !!!!!
[JP, 8.-9.11.97]
KOMENTARE!!! Headery by mely byt SUPER-DOBRE komentovane! Kazda funkce/promenna
(ne jen, co to je - na to je mnemonika - ale hlavne, kdo to vyplnuje, jake tam
smeji byt hodnoty, ..., ...)
Nektere vase implementacni soubory mi pripadaji, ze jsou v pred-pred-pred-alfa stavu spousta nepouzitych/zapomenutych promennych, odkomentovane kusy kodu, #ifdef-y. Muj zdrojak takhle nevypada, ani kdyz ho pisu opily ve tri rano.. :-)
Jestli ted nezaberete a nevylepsite to co nejdrive PODSTATNYM ZPUSOBEM, tak vam nemuze stacit prosinec na usporadani a dokumentaci!
[JP, 8.-9.11.97]
DEL*() makra: operator delete muze mit nulovy argument, neni potreba psat if-prikaz
[JP, 8.-9.11.97]
[JP, 8.-9.11.97]
[JP, 8.-9.11.97]
[JP, 8.-9.11.97]
[JP, 8.-9.11.97]
[JP, 8.-9.11.97]
[JP, 8.-9.11.97]
[JP, 8.-9.11.97]
[JP, 8.-9.11.97]
[JP, 8.-9.11.97]
[JP, 8.-9.11.97]
[JP, 8.-9.11.97]
[JP, 8.-9.11.97]
[JP, 8.-9.11.97]
[JP, 8.-9.11.97]
[JP, 8.-9.11.97]
[JP, 8.-9.11.97]
[JP, 8.-9.11.97]
[JP, 8.-9.11.97]
[JP, 8.-9.11.97]
[JP, 8.-9.11.97]
[JP, 8.-9.11.97]
[JP, 8.-9.11.97]
[JP, 8.-9.11.97]
[JP, 8.-9.11.97]
[JP, 8.-9.11.97]
Filtry, ktere jsem udelal pres vikend a na ktere se jeste chystam, jsou ulozeny v souboru
"text/filters/filters.txt".
[JP, 8.-9.11.97]
[JP, 8.-9.11.97]
Ted jsem jeste zjistil, ze to ma nejakou souvislost s okrajem obrazku. Pokud ho nastavim
na 1, vyvola to chybu pristupu do pameti na io/u_bmp.cpp:269 ("*pomline=*pomRGB;") - 'pomRGB'
uz ukazuje mimo alokovane pole!
Funkce "reverse()" volana na "u_bmp.cpp:172" alokuje pole "RGBbuffer", ktere uz je bez okraje!
Pri "ZAPISU VLASTNICH DAT" (od radky 254) se vsak s okrajem pocita!
... jen nechapu, jak to mohlo dotedka fungovat ...
[JP, 8.-9.11.97]
[JP, 8.-9.11.97]
[JP, 8.-9.11.97]
[JP, 10.11.97]
[JP, 10.11.97]
[JP, 10.11.97]
[JP, 10.11.97]
cXImage::realocc_bitmap() uvolnuje starou bitmapu. Ale co kdyz je zamknuta? mman->free() vrati
hlasku ERR_WARNING, ale ta se ignoruje. Ten samy blok pameti (se stejnym klicem) se pak hned alokuje
a alloc() si mysli, ze to je realloc. Vysledek: mj. je lock_num=2 (ma byt 1). To ale jeste
nezpusobilo moji chybu - bude tam jeste jina zavada..
cBitmap::~cBitmap() volany z cXImage::cXImage() volany z cWorkspace::~cWorkspace() volany
z cKernel::~cKernel() potom chce tu pamet uvolnit (free()), ale mman to neudela, protoze tam zbyl
zamek.
[JP, 10.11.97]
[JP, 10.11.97]
Nevim co (vsechno) je spatne, zkusil jsem dat ze sveho filtru (z metody update()) to
dest->realocc_bitmap(), chyba na heapu se tim vsak neodstranila... Workspace "jpavg.wsf" davam do
adresare "public/error"
[JP, 10.11.97]
Panove, neni mozne prochazet podrobne vase zdrojaky pokazde, kdyz chci zavolat nejakou funkci!
Uz jsem tim ztratil nekolik hodin.
Navic tam mate chyby a ja ani casto nevim, jestli je to tam spatne nebo jestli jste to tak chteli.
Proti vam je Microsoft zlata firma s dobre dokumentovanymi programy... Vim, ze to neni dodelane, ale
mame na to uz jen necele dva mesice !!!
[JP, 10.11.97]
[JP, 10.11.97]
[JP, 10.11.97]
Alokace "pomline=line=new byte[tga->xres*frmt-1]" je taky spatne - asi tam bylo mysleno ..*(frmt-1)]..
Proc tam neni jenom "[tga->xres]"?
Stejna vec je o par radek vys, v "case TRUE_COLOR:" "pomline=line=new byte[tga->xres*frmt-1]"
Hlasky typu "//TADY MOZNA BUDE DROBNA CHYBICKA" me opravdu rozesmeji :-)
[JP, 10.11.97]
V jine vetvi teze procedury (SaveGIF()) se sice alokuje pamet pro paletu, ale nikde se nevraci zpatky!
Proc se tesne vedle sebe pouziva "UCHAR" a "unsigned char"? A proc tam neni spravne "uchar8"?
Kdyz se alokuje jedna polozka na heapu (zkontroluje se na NULL - OK) a potom druha, tak po kontrole
te druhe se nemuzete hned vratit z procedury! Musite uvolnit ten prvni (dobre alokovany) blok!
[JP, 10.11.97]
[JP, 12.11.97]
[JP, 12.11.97]
[JP, 12.11.97]
[JP, 12.11.97]
[JP, 12.11.97]
[JP, 12.11.97]
Jedina vec nam tam ale chybi - filtr neumi pocitat skalarni velicinu (RMS chybu) - jen by se dal
vygenerovat nejaky trivialni obrazek a ten by se potom s necim porovnal.. No, moc se mi to nelibi,
ty skalarni veliciny by bodly!
[JP, 12.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
Doufam, ze rutiny z "gr_utils.cpp" nikdo nepouziva! Vsechny jsou spatne! Autor asi chtel zmenit pointer,
ktery se pri volani tech funkci napise jako posledni aktualni parametr. To by se ale nesmelo do hlavicek
tech procedur psat "byte *buffer". Tim zadny ukazatel zvnejsku nezmenite!!!
Musi tam byt vsude "byte *& XXX"! Opravte si to vsichni, kdo chcete, aby vam fungoval format BMP.
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
A Windowsovske platformy se daji souhrnne nazvat "WIN32", abyste tam nemeli "WNT,W95" (oni to taky
za chvili nebudou Windows 95 :)
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
Vy si myslite, ze to pisu pro legraci? Nebo ze nemam co delat?? Ja mam mnohem lepsi veci na praci,
nez vas ucit programovat!
Od tedka bude seznam chyb a pripominek umisten na WWW a KAZDY bude mit VZDY povinnost DO PRISTI
KONTROLY ty jednoduche zavady odstranit! Pres WWW formular se tam potom napise, kdo a kdy to udelal.
Do stredy 19.11. to musite udelat zpetne pro vsechny me dosavadni pripominky.
Formularem tam pujde i nove pripominky pridavat - pridavejte je i vy sami!!!
Adresa: http://sun3.ms.mff.cuni.cz/st-proj/is/errors/
Ze je tech pripominek hodne? Za to ale muzete vy sami! Od tedka mate VSICHNI POVINNOST cist
VSECHNY me pripominky a i pokud nejsou adresovany prave vam, zamyslete se, zda ve svem kodu
nedelate podobne vylomeniny take.
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 15.11.97]
Obrazky by naopak mohly byt relativne k workspace? Promyslete to, na schuzce probereme vase
navrhy.
[JP, 15.11.97]
Je videt, ze jste to ani jednou nevyzkousel. To uz se NESMI OPAKOVAT!
Mimochodem, proc tam vlastne ten ukazatel "pitem" vubec mate???
[JP, 15.11.97]
Kdyz vam navrhnu, abyste tam pridali nejakou novou metodu (a dam tam i odkaz na reseni, ktere
jiz ve svem kodu mam), tak se na to alespon nejdriv podivejte, kdyz uz nejste schopni to napsat
sami dobre na prvni pokus...
[JP, 15.11.97]
[JP, 15.11.97]
[JP, 17/11/97] Pokud to chcete nechat ve zvlastnich souborech, tak ale dodrzujte
format, ktery tam mam ja! Nemyslim kodovani, ale formu a informacni obsah.
[JP, 17/11/97] [JP, 17/11/97] [JP, 17/11/97] Nedal by se ten seznam chyb rozdelit podle toho, komu je zprava urcena,
pripadne alespon na stranky o rozumne velikosti ?
Ma diff soubor obsahovat pouze zmeny, ktere byly provedeny v jadre, nebo
i vsechny soubory z archivu v /new?
Nevi nekdo, jak donutit DLL knihovnu ve win32 k tomu, aby dynamicky resolvovala
symboly z programu do ktereho byla nahrana pomoci Prosim vsechny, aby pokud neco nahravaji do /new:
[David Cernoch, 18/11/97] [David Cernoch, 18/11/97] [David Cernoch, 18/11/97] [sovicka, 18/11/97] [sovicka, 18/11/97] [MH, 19/11/97] [MH, 19/11/97] [MH, 19/11/97] [sovicka, 19/11/97] [JP, 19/11/97] Soubor 'config.h' by se mel dat snadno generovat konfiguracnim scriptem (napsanym napr. v Perlu nebo
v shellu).
[JP, 19/11/97] Dalsi vyhoda - vstupni modul (ctouci obrazek z disku) by mohl take byt formalne filtrem... [JP, 19/11/97] INPUT_LINE: " ... text MUSI BYT ALOKOVAN! .." co tim mam rozumet? Musim mit na heapu alokovanou
max. velikost retezce (to by mi pripadalo logicke) nebo tam mam prave aktualni delku a Run() si
to v pripade potreby prealokuje.
U COMBO_BOXu mi neni jasne, zda muzu zadat i uplne jiny string z klavesnice. Kdo pak zodpovida za
jeho uvolneni?
Jinak chvalim - je to pekne. [JP, 19/11/97] [JP, 19/11/97] [JP, 19/11/97] Dale navrhuji, zby nikdo jiny krome koordinatora NEDAVAL na trh nove distribuce. Vsichni ostatni
(vcetne pana Chrzanowskeho) prece mohou vyrabet "update" sve casti kodu a koordinator (pan Halva)
to pak da dohromady. Radsi si stahnu posledni distribuci a pridam k ni nekolik i netrivialnich update,
nez budu zase resit podobny neporadek, ktery se stal 17.11. [JP, 19/11/97] Z tech log-souboru bych vzdycky rad poznal, na cem jste pracovali, co jste udelali a co z toho
vzniklo (alpha-verze, update nebo distribuce). Ve vasem zajmu doporucuji psat si tam i "malickosti"
- vsechny (i male) opravy, nedoresene zalezitosti, napady do budoucna, .. [JP, 19/11/97] [JP, 19/11/97] Rozmyslete si moznosti, jak to zaridit! [JP, 19/11/97] [JP, 19/11/97] [Hynek Bakstein, 19.11.97] [DC, 19.11.97] [MH, 20.11.97] [David Cernoch, 21.11.97] [JP, 21.11.97] [JP, 21.11.97] Ted jsem se podival, ze jste ty definice pri presunu jpglobal.h -> define.h zmenil! Zaridte to tak,
aby se ASSERT definoval, je-li nastaven (od prekladace!!!) symbol _DEBUG (tak to bylo drive).
rozumne by bylo, aby napr. v "define.h" se ze symbolu std. definovanych prekladaci (_DEBUG, atd)
udelal jeden jednotny symbol, ktery budeme pouzivat my. Tak jste to asi chtel udelat, ale nepovedlo se.
[JP, 21.11.97] [JP, 21.11.97] [JP, 21.11.97] [JP, 21.11.97] [JP, 21.11.97] Navrhuji pouzit vazenou Euklidovskou metriku - jako vahove koeficienty pouzit grayWeights[]
z meho souboru "jpglobal" (v soucasne verzi jsou jeste v "jpdistance", ale presunul jsem je) [JP, 21.11.97] [JP, 21.11.97] Ty informace interniho charakteru budou taky potreba (do programatorske dokumentace), kdyz tak
pro to zalozte jine soubory (a jiny adresar). [JP, 21.11.97] [MH, 24.11.97] [MH, 24.11.97] [MH, 24.11.97] [David Cernoch, 24.11.97] [sovicka, 25.11.97] [sovicka, 25.11.97] [David Cernoch, 25.11.97] [JP, 26.11.97] [JP, 26.11.97] [JP, 26.11.97] [JP, 26.11.97] [JP, 26.11.97] [JP, 26.11.97] [JP, 26.11.97] [JP, 26.11.97] [Kristik, 26.11.97] [JP, 28.11.97] [JP, 28.11.97] [JP, 28.11.97] [JP, 28.11.97] Kdyz je tam za sebou #include "config.h" a "define.h", tak uz se v "define.h" nemusi ten "config.h"
znova includovat (a stejne tak <string.h>)
<float.h> - to je (podle me) M$ specialita, takze by se nemelo bez podminky davat do "define.h"
is_pch.h: #include "dialog.h" by mel spravne byt az za "config.h" (co kdyby tam casem neco zacalo
zaviset na konfiguracnich makrech?)
[JP, 28.11.97] Ja jsem si vubec predstavoval, ze "config.h" bude vypadat jinak (a uz dvakrat jsem o tom vsem psal).
Proc se snazite byt "chytri" a ze symbolu definovanych prekladacem se snazite uhadnout ten endian,
jestli se ma pouzit DLL, atd. Standardni postup je trochu jiny - soubor "config.h" je zcela v rezii
cloveka, ktery si program instaluje. RUCNE do nej pise, jaky ma endian, jestli ma ANSII prekladac,
jakou ma platformu, atd. (spoustu veci za nej muze zjistit automaticky nejaky script - configure.sh
nebo configure.pl). I velikost zakladniho integer typu (v bitech) by se tam mohla zadat -
napr. jen #define INT32 / #define INT64.
Typicky soubor "config.h" nebude soucasti distribuce (jen tam bude jakasi sablona, ve ktere jsou
vsechny "#define" prikazy vykomentovany spolu s navodem, co se musi odkomentovat). Priklad:
A potom V JINEM SOUBORU (u nas asi v define.h) se z tech nekolika malo zakladnich definic odvodi
vsechno potrebne (napr. i ty nase uint32, ..) a taky se podle potreby naincluduji dalsi headery...
(ne jako to mame my - v "is_pch.h")
Shrnuti vyznamu jednotl. headeru:
Az to udelate nejak rozumne, tak si opravim i soubor "jptimer.cpp", ktery je z jinych projektu a zatim
pouziva jinych rozlisovacich symbolu..
[JP, 28.11.97] Koho to napadlo davat #include "define.h" na posledni misto za vsechny svoje headery? Je to v *mnoha*
souborech! [JP, 28.11.97] [JP, 28.11.97] [JP, 28.11.97] [JP, 28.11.97] [JP, 28.11.97] [JP, 28.11.97] [JP, 28.11.97] [JP, 28.11.97] [JP, 28.11.97] [JP, 28.11.97] [JP, 28.11.97] [JP, 28.11.97] [JP, 28.11.97] [JP, 28.11.97] [JP, 28.11.97] [David Cernoch, 30.11.97] [David Cernoch, 30.11.97] [David Cernoch, 30.11.97] [David Cernoch, 30.11.97] Mate problemy pouze s touto moji jedinou radkou? [David Cernoch, 30.11.97] [David Cernoch, 30.11.97] [David Cernoch, 30.11.97] [David Cernoch, 1.12.97] [David Cernoch, 1.12.97] [David Cernoch, 1.12.97] [David Cernoch, 1.12.97] [David Cernoch, 1.12.97] [David Cernoch, 1.12.97] [David Cernoch, 1.12.97] [David Cernoch, 1.12.97] [HB, 01.12.97] [HB, 01.12.97] [HB, 01.12.97] [MH, 1.12.97] [MH, 1.12.97] [nutne upravy, 01.12.97]
/includes/is_pch.h
- pod MS Visual C++ s MFC neni mozne includovat windows.h
tento include dela samotne MFC a pri druhem include vytece
na fatal error
/filters/convfilt.cpp
- neni mozne definovat makro WORD, protoze jej MFC definuje
typedefem a je z toho docela vedle
( line 12 ) [David Cernoch, 2.12.97] [David Cernoch, 4.12.97] [JP, 4.12.97] [JP, 4.12.97] [JP, 4.12.97] [JP, 4.12.97] [JP, 4.12.97] [JP, 4.12.97]
1. Pokud to ma byt rozliseni debug/release verze prekladu, tak by na nem nemusely zaviset ladici
vypisy (memory manager, mereni casu, atd.) I v release verzi se chci podivat, jestli se spravne
uvolnila pamet. A je treba nejak zajistit, aby v release verzi skutecne NEBYL DEFINOVAN symbol DEBUG.
2. Pokud symbol DEBUG je prave k odliseni tech ladicich tisku, tak nefunguje kombinace #define DEBUG
a -DNDEBUG (to mi udela prekladac) ... v takovem pripade je spatne radka 68: VERIFY nesmim odvodit
z ASSERT, protoze to je v release verzi prazdny prikaz.
Plati-li varianta 1., doporucuji dat ladici tisky (a mereni casu, apod.) na jiny symbol (napr VERBOSE)
definovany rovnez v "config.h". Spolu s tim by se (na pozadani) vsechny vystupy mohly psat do nejakeho
log-souboru. Neudelat na ASSERTy jeste dalsi symbol? (ASSERTS)
[JP, 5.12.97] [JP, 5.12.97] [JP, 6.12.97] [JP, 6.12.97] [JP, 6.12.97] [JP, 6.12.97] [JP, 6.12.97] [JP, 6.12.97] [JP, 6.12.97] [JP, 6.12.97] Nejak jsem si to sam zbastlil (podobne jako je to v "cIOFilter") a snad to funguje. Podporu
jednostrannych filtru (bez vstupu) bych si ale predstavoval jinak!
[JP, 6.12.97] [JP, 6.12.97] [JP, 6.12.97] [JP, 6.12.97] [David Cernoch, 8.12.97] [David Cernoch, 8.12.97] [JP, 12.12.97] [JP, 12.12.97] [JP, 12.12.97] [JP, 12.12.97] [JP, 12.12.97] [JP, 12.12.97] A co cImageSave? Kam se ma vysledny obrazek ukladat? Nebo tam musi byt absolutni cesta? [JP, 12.12.97] Takze - ma predstava je takova, ze se do toho souboru budou psat vsechny zmeny, ktere
by se mohly clenum tymu hodit (zmena parametru nejake funkce, odstraneni funkce, pridani
nejake vseobecne uzitecne funkce, pridani noveho prvku dialogu, zmena vyznamu nejakeho
parametru, atd...). Nemusite tam uvadet velke detaily, staci strucny popis a odkaz na
nejaky jiny soubor (nap. *-HOWTO.html).
Piste tam vzdycky sve jmeno (zkratku), datum a verzi, od ktere to plati!
[JP, 12.12.97] [JP, 13.12.97] [JP, 13.12.97] [JP, 13.12.97] [JP, 13.12.97] [JP, 13.12.97] [JP, 16.12.97] [JP, 16.12.97] [JP, 16.12.97] [JP, 16.12.97] [JP, 16.12.97] [JP, 16.12.97] [JP, 16.12.97] [JP, 16.12.97] [JP, 16.12.97] [JP, 16.12.97] [JP, 16.12.97] [JP, 16.12.97] [JP, 16.12.97] [JP, 16.12.97] Proc je default koeficient zvetseni obrazku >1 ??
[JP, 16.12.97] [JP, 16.12.97] [JP, 16.12.97] A filtry by se mely nejak seradit (treba podle abecedy)!
[JP, 16.12.97] Podruhe se mi uz podarilo GIF nahrat, ale nezobrazuji se spravne jeho barvy (jako kdybyste
ignorovali GIF paletu). Mam nastaveny hi-color graficky rezim.
[JP, 16.12.97] [JP, 16.12.97] [JP, 16.12.97] [JP, 17.12.97] [JP, 17.12.97] [JP, 17.12.97] [JP, 17.12.97] [JP, 17.12.97] [JP, 17.12.97] [JP, 17.12.97] [JP, 17.12.97] [JP, 17.12.97] A mimochodem - ani AL_VCENTER nepracuje dobre (viz dialog u filtru SEPARATE_RGBA - viz
jp971217) [JP, 17.12.97] Dale navrhuji, aby "cFilter::cFilter()" nastavil i "description" na NULL (pro ty zapomnetlive). [JP, 17.12.97] [JP, 29.12.97] [JB, 05.01.98] Na meggase s ID vetsimi nez 255 nelze odpovidat. Asi tam preteka nejaka prom. [MH, 05.01.98] [JP, 12.1.98] [JP, 12.1.98] [JP, 12.1.98] [JP, 12.1.98] [JP, 12.1.98] [JP, 12.1.98] [JP, 12.1.98] [JP, 12.1.98] [JP, 12.1.98] [JP, 12.1.98] [JP, 12.1.98] [JP, 12.1.98] [JP, 12.1.98] [trinkewitz, 9.2.98] [David Cernoch, 9.2.98] [David Cernoch, 9.2.98] [David Cernoch, 9.2.98] [MH, 9.2.98] [HB, 12.02.98] [David Cernoch, 2.3.98] [David Cernoch, 2.3.98] [David Cernoch, 5.2.98] [JP, 24.2.98] [JP, 24.2.98] [JP, 24.2.98] [JP, 24.2.98] [JP, 19.3.98] [JP, 19.3.98] [JP, 19.3.98] [JP, 19.3.98] [JP, 19.3.98] [JP, 19.3.98] [JP, 19.3.98] [JP, 20.3.98] [JP, 20.3.98] [JP, 20.3.98] [JP, 20.3.98] [JP, 20.3.98] [JP, 20.3.98] [JP, 20.3.98] Use next form to answer any on-line question or to declare that some error has been
fixed. You can use HTML tags in <BODY> context.
k headeru define.h: na M$ platforme jsou headery
==========
[MH, 17/11/97] Opraveno v is971117.zip config.h
13 - obsolete message/question
nektere moderni prekladace (napr. M$ Visual C++, ale i jine) umeji prekladat s jinou
(rychlejsi) konvenci predavani parametru (fastcall - pouzije se co nejvic registru
a pak teprve stack). Nektere funkce (callback, main(), ..) vsak musi byt volany standardnim
zpusobem. Je vhodne, kdyz se takove funkce oznaci makrem, aby se pak dal snadno ten
fastcall zapnout. Priklad viz "define.h".
14 - obsolete message/question
dalsi vec, kterou dneska dobre prekladace podporuji, jsou predkompilovane headery.
Aby to k necemu bylo dobre, mely by vsechny implementacni soubory mit na zacatku
stejny prefix includovanych headeru (to se pak ulozi do .pch souboru).
15 - obsolete message/question
Jo, cWorkspace::load() se mi moc libi ... 450 radkova funkce, to se jen tak nevidi
(a bude jeste delsi?!). Misto tech if-u nabizim alternativu - viz funkce findToken() z
"jpglobal.cpp".
16 - obsolete message/question
eImageFormat: proc jsou to mocniny dvojky? To jich tam muze byt nastaveno vic najednou??
hodily by se take nejake komentare (kolik bitu ma IF_PALETTED??)
17 - obsolete message/question
pripada mi trochu nepohodlne registrovat rucne vsechny std. filtry - musi se vzdycky
prekladat hlavni program (a clovek muze zapomenout). Co takhle pouzit staticky seznam
filtru, ktere jsou potreba k registraci...
18 - obsolete error
pouzivejte KONSTANTY (#define nebo const, to je fuk)!
cKeyword_File::getNextKey() cte vstup do radky dlouhe 500 znaku. Proc tech 500 neni kostanta?
...
19 - obsolete error
vsechny filtry by v metode load() mely testovat konec souboru:
if ( getNextKey(xxx) == ERR ) break;
==========
[sovicka, 17/11/97]
moje filtry to delaji od 12.11.
==========
[David Cernoch, 18/11/97]
Opraveno v dc971117
20 - obsolete message/question
na mnoha mistech se opakuji jednoduche sekvence prikazu, napr.
xx = new char[12]; strcpy(xx,"novy string");
nebo
strcpy(item->Key,"XXX");
sprintf(item->Value,"%d",YYY);
F->putkey_value(item);
Proc z toho neudelate procedury? V prvnim pripade je to dokonce bezpecnejsi! A vzdycky
se usetri byty kodu a vylepsi se citelnost zdrojaku... To plati obecne, vyjimkou jsou
pouze casove kriticke oblasti.
21 - obsolete error
zadna varovani by se pri prekladani nemela objevovat. Zapomenute promenne dejte pryc,
u porovnavani signed/unsigned zkontrolujte, jestli je to spravne a dejte tam pretypovani.
Hodnotici komise si to pak muze krome spousteni i prekladat a ty desitky varovani nedelaji
dobry dojem..
22 - obsolete message/question
proc ma metoda "clone()" odlisnou semantiku u ruznych objektu?? Napr. u filtru pouze
vytvori objekt stejneho typu (nenastavi stejne parametry!), u masky okopiruje i data!
Nezjistil jsem, co je spravne (predpokladam, ze filtr pri klonovani nemusi kopirovat sve
parametry).
23 - obsolete message/question
cImage::bpp je velikost pixelu v BYTECH (ne bitech, jak se pise v headeru)
==========
[MH, 17/11/97] Opraveno is971117.zip
24 - obsolete message/question
proc maji metody cFilter::init() a ::update() jako parametr cXImage* ??
25 - obsolete message/question
je nejaky duvod, proc by mel byt border vystupniho obrazku alespon tak velky, jako
border vstupu? Ja jsem to videl v nejakych filtrech a opsal to, ale nevim jestli to je
nutne ( dest->setParams(...,max(src->border_size,dest->border_size)) ). Pokud se obrazek
bude prealokovavat, tak by jadro melo samo pohlidat, aby mu nezmensilo okraj...
26 - obsolete error
cFilter::load(), ::save() a ::clone() musi byt VIRTUALNI. Filtry z 'dfilters.h' to
maji spatne!
=======
[David Cernoch, 16/11/97]
Opraveno v dc971112.zip
27 - obsolete message/question
v souboru 'filters.h' je u metody cFilter::canRun() poznamka "!!! NEPOUZIVAT !!!".
Spousta filtru vsak tuto metodu vola. Jak tomu mam rozumet?
28 - obsolete error
v cFMedian::load() se zapomina uvolnovat 'item'. Je vubec potreba alokovat to na heapu?
=======
[David Cernoch, 16/11/97]
Opraveno v dc971112.zip + pridany destruktory do vsech mych filtru co si alokuji
nejakou pamet...
29 - obsolete message/question
vsechny metody struktury 'sItem' jsou INLINE! Opravdu je to potreba (kvuli rychlosti)?
30 - new error
nevim, jake chyby mam vracet z cFilter::load() (kdyz najdu spatny token nebo nastane EOF).
Zatim jsem tam dal ERR_FILEBADFORMAT. V chybovych kodech je taky treba udelat poradek!
Cim drive to udelate, tim mene se toho potom bude muset opravovat!
31 - obsolete message/question
nejaka rutina nastavujici hodnoty v 'sItem' by se hodila. Viz. jpwindow.cpp:setItem()
ale member-funkce by byla logictejsi
32 - obsolete message/question
nikde neni napsano, jaky je presny vyznam parametru 'to' v metode cMask::getRun(),
predpokladam, ze to ukazuje az ZA ten interval (tj to-from je pocet pixelu).
==========
[sovicka, 17/11/97]
je to tak ,viz mask.h od 12.11.
33 - obsolete message/question
cXImage::notify(): "\r" misto "\n" (aby se to prekreslovalo na miste)
34 - obsolete message/question
dal jsem tam modul jptimer, ktery umi merit CPU cas. Navic se v hlavnim programu
otevira log-file (error.txt) a ve Win navic zapina run-time kontrola heapu (jen v DEBUG verzi).
Ty zmenene soubory vam tam dam, udelejte s nimi, co chcete.
35 - obsolete error
varovani, ktera obvykle znamenaji chybu v programu (podrobne jsem to nestudoval):
E:\is\kernel\workspc.cpp(109) : warning C4700: local variable 'o' used without having been initialized
E:\is\kernel\workspc.cpp(252) : warning C4700: local variable 'fpos' used without having been initialized
E:\is\kernel\kernel.cpp(117) : warning C4700: local variable 'pf' used without having been initialized
E:\is\io\U_BMP.CPP(107) : warning C4700: local variable 'pal' used without having been initialized
E:\is\io\png_load.cpp(134) : warning C4700: local variable 'p' used without having been initialized
==========
[MH, 2.12.97]
Kernelove hlasky opraveny v is97111?.zip
36 - obsolete message/question
nevim, kde mam zkontrolovat, zda mam pripraveny vsechny vstupni obrazky pro vypocet
filtru. Zatim to jen kontroluju ASSERTem v cFiltr::init(). (??? cFilter::canRun() ???)
37 - obsolete message/question
pri kontrole formatu vstupnich a vystupnich obrazku filtru me napadlo male vylepseni -
kdyby byla k dispozici rutina, ktera by (priblizne) rekla, jestli u formatu IF_PALETTED
je v palete skala sedych odstinu, mohl by se v takovem pripade zmenit format takoveho
vstupu IF_PALETTED => IF_GRAY16 (misto IF_PALETTED => IF_RGBA8, jak to delame dotedka).
==========
Deklarace a pouziti (v setFormat()
) rutiny
BOOL cXImage::isGray(void)
je hotova, zbyva dodelat implementaci
[MH, 17/11/97]
38 - obsolete message/question
udelejte nekde seznam filtru, ktere jsou hotove a ktere nekdo planuje udelat (nejlepe
i se strucnym popisem funkce a pripustnymi formaty dat - prip. pracuji-li s maskami nebo
co u nich jeste nebylo dodelano..). Nasel jsem filtr na separaci R,G,B, ale nepodarilo se
mi najit inverzni filtr (kompozice RGB obrazku ze 3-4 kanalu).
==========
[JP, 20.11.97] Zmena - kazdy tam bude mit svuj soubor (napr "jp.txt"). Dodrzujte
ten format!
39 - obsolete error
kernel/workspc.cpp:806 - zbytecne a spatne se tam uvolnuje keys->Value (destruktor 'keys'
se to pak snazi uvolnit jeste jednou!). Mimochodem (uz jsem to psal nekomu jinemu) - nechapu,
proc alokovat objekt typu sItem na heapu?!
40 - obsolete error
ukladam-li vystupni obrazek (540x480 IF_RGB8) do formatu BMP, neda se takova bitmapa
potom prohlednout programem LView (pise, ze umi jen 1, 4, 8 nebo 24-bitove formaty
bitmapy). Navic potom pri uvolnovani pameti cMemManager::~cMemManager() dojde k chybe na heapu
(radka "delete[] mmap[i].mem;") - zjisteno tim M$ hlidacem heapu. Workspace (jpdiff.wsf) i
oba vstupni obrazky (sarah.tga a jp5.tga) davam do adresare "error". Ukladani stejneho
vystupniho obrazku do TGA nebo PCX funguje dobre.
41 - obsolete message/question
io/u_bmp.cpp:168-170 - tim strasne slozitym zpusobem pouze zarovnavate na nasobek 4?
to same udela prikaz: "linecounter = ((bmp->xres+1)*3) & -4;" Obecne, chci-li cislo 'x'
zarovnat na nejblizsi vyssi nasobek 'n' (a je-li 'n' mocnina 2), pouziji vyraz "(x+n-1) & -n"
Pokud 'n' neni mocnina dvojky, lze pouzit "x += n-1; x -= x % n;"
42 - obsolete error
kdyz pouziju workspace, ktere mi sam hlavni program ulozil (saved.cfg) - nebo ho napisu
sam a u vstupnich/vystupnich obrazku neuvedu cisla popisek (viz saved.cfg), spadne to!
kernel/workspc.cpp:895 - tady preteka index 'i' (pokud identifikace obrazku "INPUTIM"
neobsahovala popisku - u me to bylo "#0-i29")
43 - obsolete message/question
vsimnul jsem si, ze "runmask" je implementace masky pomoci behu; jeste tam vsak nejsou
dodelane vsechny mnozinove operace. Kdybyste meli zajem, tak jsem vam tam dal modul
"jpgeometry.cpp", ve kterem je mj. kompletni implementace datove struktury X-transition
list vcetne vsech mnozinovych operaci. Pouzivam to ve svem okenkovacim systemu, takze
by to melo byt dobre vyzkousene... Kvuli vetsi efektivite pri praci s pameti je vhodne
nadefinovat procedury getMemory() a recycleMemory() tak, aby se pamet "recyklovala"
velmi rychle (napr. seznam jiz vracenych polozek dane delky - vyznam tu ma jen typ
'XTransition'). I std operatory 'new' a 'delete' se tak daji predefinovat - viz odkomento-
vane prikazy v "jpgeometry.h".
44 - obsolete message/question
porad mam jadro: is971105, nove moduly (z adresare 'new'): win.zip, ms971106, dc971105,
js971106
=======
45 - obsolete message/question
proc filtr SEPARATE_RGB nepise vystupni kanaly do zvlastnich vystupnich obrazku?
Budu si muset napsat svuj filtr, ktery ma na vystupu (ne povinne vsechny) ctyri GRAY16 obrazky.
=======
[David Cernoch, 16/11/97]
filtr SEPARATE_RGB pise vystup do tri (pevne) RGBA8 obrazku - pokud chcete mohu jej
modifikovat...
46 - new message/question
potrebuji rutinu, ktera omezi masku na dany obdelnik - to by se melo delat, kdyz nejsou stejne
velke vstupy a na vystup chci masku okopirovat!
47 - obsolete error
cMemManager::~cMemManager() - mmap[0] obsahuje blok, ktery uz byl jednou uvolnen!
ptr=0x008ed254, size=1036800
==========
[MH, 17/11/97] Od is971117.zip by melo zamykani chodit korektne.
48 - obsolete message/question
proc se ve filtrech (v metode update() na zacatku) vola dest->realocc_bitmap() ?
(ja to tam mam taky, ale opsal jsem to!)
49 - obsolete error
cBitmap::setNewBitmap() dealokuje starou bitmapu pomoci delete[]. Nema se k tomu pouzit memory-manager?!
Pozdeji prichazim na to, ze to je ta chyba, ktera zpusobi problemy popisovane v 3. Z meho filtru (metoda
init()) se vola "dest->setBounds()" a tam na radce 136 se zavola "shared_bitmap->setNewBitmap(this,new_bitmap)".
Uvnitr setNewBitmap() se pak chybne uvolni data pomoci operatoru delete.
==========
[MH, 17/11/97] Opraveno - is971117.zip
50 - obsolete message/question
to jsem nevedel, ze cMask::getRun() nevraci prvni run na radce, ale prvni run, ktery ZASAHUJE DO
SOURADNICE "from"!!! V headeru i implement. souboru nejsou zadne komentare. V ostatnich filtrech
(napr. cFMatrix) je to take spatne (promenna "from" se neinicializuje pred volanim getRun() a jenom
nahodou je na zacatku nulova!).
==========
[sovicka, 17/11/97]
omlouvam se ,viz mask.h od 12.11.
51 - obsolete error
v MASKBOXu jsem rucne zadal MINX="-100". Udelalo to masku, ktera se mym filtrum jevila jako prazdna.
Nepodteka tam unsigned? No jo - mixuje se tam uint16 a int a neni to osetreno!
==========
[sovicka, 17/11/97]
opraveno od 12.11.
52 - obsolete message/question
zkousel uz nekdo zpracovavat opravdu *velke* obrazky v netrivialnim workspacu? Je vyreseno uvolnovani
pomocnych bitmap, pokud se vsechny do pameti nevejdou?
==========
[MH, 2.12.97]
V is971201.zip uz by melo fungovat "swapovani" na disk (testovano na 3MB bitmapach,
celkova velikost procesu bez swapu >30MB, se swapem <10MB)
53 - obsolete error
u_tga.cpp: pri ukladani TGA v sedem formatu (radky 233-252) se sice deklaruje pointer pomRGB16 jako
"unsigned short*" (pominu-li, ze jsme se dohodli na pouzivani typu uint16), ale pak se inkrementuje
jako by to byl ukazatel na jednobajtovy objekt (snad staci vsude vyhodit to "frmt")!
==========
[sopik, 18/11/97]
opraveno
54 - obsolete error
zapis GRAY16 do GIFu mi totalne shodi Win95! No, neni divu, kdyz hned po deklaraci ukazatele "pompal"
se podle nej dosazuje do pameti (je v nem 0x815... - smula, na to zrovna jsou Win95 citlive!).
Chce to si vzdycky po sobe PROHLEDNOUT zdrojaky - ne jenom to krokovat v debuggeru (pral bych vam
derne stitky!).
==========
[smola, 18/11/97]
opraveno nejpozdeji c ms971118
55 - obsolete error
v zapisu GRAY16 do GIFu je jeste jedna chyba - zapomina se tam, ze vstupni pixel je dvoubajt,
ale pouzity ukazatel (obr->bitmap) je typu uchar8*.
==========
[smola, 18/11/97]
opraveno v ms971118
56 - obsolete message/question
porad mam jadro: is971105, nove moduly (z adresare 'new'): win.zip, ms971106, dc971105,
js971106. Novejsi jadro jsem si neinstaloval, protoze si nejsem jist, co je v nem opraveno,
resp. nektere chyby opraveny nejsou a me by to zase zdrzovalo..
=======
57 - obsolete message/question
mozna by stalo za pokus udelat vzdycky jen rozdilovy archiv - tj. soubory, ktere se
od minule verze zmenily: modemem by se to stahovalo kratsi dobu a clovek by si vzdycky
mohl byt jisty, co bylo opraveno...
58 - obsolete error
ke kucharce.html (to nejsou jen pripominky k autorovi kucharky, ale i k jadru):
a. dat ji do distribuce
b. pokud je vstupu a/nebo vystupu vic, co vsechno se musi zavolat? (cely kartezsky soucin -
Src[m]->checkBitmap(DESTRUCTIVE,Dest[n])??)
c. popis metod volanych uvnitr update() - zalezi na poradi?
d. "prazdna funkce (kvuli zpetne kompatibilite)" - to se mi nelibi. Bud: 1. je ta funkce ZATIM
prazdna, ale nekdy pozdeji mozna nebude (pak tam ta poznamka nepatri) nebo 2. ta funkce
se ukazala skutecne ZBYTECNA (a pak tam nepatri - tech pet a pul filtru se klidne muze
zmenit..)
e. primlouvam se k prejmenovani funkce "realocc_bitmap()", aby byla spravne anglicky
f. popis "load()" - mel by obsahovat test nacitanych klicovych slov
g. popis parametru "setBounds()" - v jakem formatu se udava barva konstantniho okraje
h. "setBounds()" - nelibi se mi, ze musim hlidat starou velikost okraje. Predstavoval bych si to
tak, ze zadam format, ktery chci, a o zbytek se postara jadro (tj. i o to, aby se okraj
pri prealokovani nezmansil..)
i. porad mi neni jasne, KDE mam kontrolovat pripojeni vstupnich a vystupnich obrazku ve filtru:
ve funkci "init()" nebo na zacatku "update()" ? .. muj filtr cFSeparateRGBA muze mit pripojeny
libovolne z 4 vystupu (min. jeden), nesmi mit na vstupu GRAY16!
==========
[David Cernoch, 27.11.97]
co se tyka kucharky uz je vyresene (pokud mate nekdo nejake pripominky, dejte
mi vedet)
59 - obsolete error
nemelo by se v "define.h" pouzivat "uint16" misto "unsigned short"?
==========
Opraveno is971117.zip
[MH, 17/11/97]
60 - obsolete error
"LoadXImage()": do promenne "ret" se sice schovava navratovy kod, ale pak se vraci OK!
Pokud tedy nacitam neznamy typ obrazku, nas program za chvili spadne.. Vlastne tou neni jen tou
vracenou hodnotou, cXImage::setImage() to stejne netestuje!!! A pak to vytece na radce:
"memcpy(bitmap,map,((width+2*border_size)*(height+2*border_size)*bpp));", protoze bpp nebylo
inicializovano!
==========
[MH, 17/11/97] Opraveno - is971117.zip
61 - obsolete message/question
nemohli bychom dat dohromady nejakou sadu testovacich scriptu? Ja uz mam hotove filtry na porovnavani
dvou obrazku a nebyl by problem tam pridelat i vypocet celkove RMS chyby. Pak bychom si mohli pripravit
spravna vysledna data a vzdycky po nejakych zmenach (ve filtrech, v jadre, ..) by se dalo snadno
(a hlavne automaticky) overit, ze vse funguje stejne...
==========
[JP, 26.11.97] No, asi to vyresim tak, ze se vsechno bude zapisovat do
obrazku (jedna radka GRAY16 .. dlouha reprezentace celeho cisla)...
62 - obsolete error
obrazek, ktery je vstupem nejakeho filtru, nemuze byt deklarovan jako vystupni pro workspace?
Me to teda nefunguje.
==========
Zkousel jsem to a funguje to, potreboval bych priklad nefunkcniho WS.
[MH, 17/11/97]
63 - obsolete message/question
Jadro is971113.zip + pc971113a.zip
=======
64 - new message/question
GIF, BMP, atd. by pri save mely spocitat, kolik barev se v obrazku vyskytuje a ulozit nejmensi
vetsi mocninu dvojky (aby se po nacteni 2-barevneho GIFu neulozil 256-barevny!). Prip. bude nutne
zpermutovat paletu v cXImage! Tyka se jen formatu, ktere umeji palety kratsi nez 256 (urcite GIF)..
65 - obsolete message/question
distribuce: pokud to nekdo nepouziva, tak dat pryc jpgeometry.h, .cpp
66 - obsolete error
proc je v gui_win druha kopie "dialog.h"? - to je jen v archivu is971113.zip, pc971113a.zip uz
to ma dobre. V archivu is971114.zip je to taky spatne!
==========
[MH, 17/11/97] Opraveno - is971117.zip
67 - obsolete message/question
do "texty/io/io.txt" psat, ktere formaty jsou udelane, na kterych se pracuje a ktere jsou v planu
(neco jako "texty/filters/filters.txt"). Dam tam priklad.
68 - obsolete error
v "io/u_tga.h" porad zustava "#define LSB_FIRST"! Jednak je to chyba na SUNech (a jinych strojich
s big endianem), jednak by takove symboly mely byt soustredeny v nejakem globalnim headeru - navrhuji
"includes/config.h" - tam by si clovek mohl zmenit (a zkontrolovat) parametry sveho HW a OS.
Makefile by se pak nemusel delat zvlast pro kazdou UNIX platformu.
Doporucuji dat do "config.h":
a. ANSII prekladac?
b. endian (LSB_FIRST/MSB_FIRST)
c. definice uchar8, uint16, int16, ...
d. jestli pouzivam thready
e. jestli mam GUI
...
proste vsechny konstanty, ktere zavisi na HW platforme, OS, prekladaci, ...
Bude to velmi uzitecne pro budouci portovani!
==========
is971117.zip - vytvoren config.h s definicemi ktere zaviseji na HW a SW platforme
[MH, 17/11/97]
==========
[sopik, 18/11/97]
dal jsem to do komentare
69 - obsolete error
LSB_FIRST se predefinuje i v "io/u_bmp.h". Dejte to pryc!
==========
[sopik, 18/11/97]
dal jsem to do komentare
==========
[JP, 19.11.97]
Dejte to uplne pryc!
==========
[vs, 24.11.97]
Dal jsem to pryc z hlavicky
70 - obsolete error
io/u_bmp.cpp:233: pokud chcete tisknout znak '\', musite ho zdvojit!
Stejne tak znak '%'!
==========
[sopik, 18/11/97]
tam byl stary tisk nepotrebny pro projekt
ktery jenom ukazoval co se zapisuje do hlavicky
dal sem ho do komentare kdyby byl jeste nekdy treba
71 - obsolete error
define.h: aby mi to nehlasilo "macro CDECL redefinition", dal jsem tam podminku "#ifndef CDECL"
==========
[MH, 17/11/97] presunuto do define.h - is971117.zip
72 - obsolete error
v souboru "gr_utils.cpp" je dokonce syntakticka chyba: "RGBbuffer1=bpp_a;" (ma byt "RGBbuffer1+=bpp_a;")
==========
[VS, 24.11.97]
opravil jsem to bude to uz ve verzi vs971123
ale myslim ze jsem to udelal jiz drive a bylo to i v vs971197
73 - obsolete error
"cBitmap::setNewBitmap()" vola mman->free(-1) (tam to potom spadne). Nemohly by se uvnitr
memory-manageru testovat zadavane klice?
Volano to bylo:
cMemManager::free(int -1) line 172 + 34 bytes
cBitmap::setNewBitmap(cXImage * 0x00717738, unsigned char * 0x00adb22c, int 0) line 181
cXImage::realocc_bitmap() line 502
cXImage::setImage(char * 0x006efb9c) line 101
cWorkspace::load_inpImages(int 50) line 355 + 28 bytes
main(int 2, char * * 0x008002c8) line 63
==========
[MH, 17/11/97] Opraveno is971117.zip
74 - obsolete error
nove jadro: is971114.zip + pc971113a.zip
Chyba 73. vsak stale trva! Krokoval jsem to a nejrozumnejsi se mi zdalo, aby "cMemManager::free()"
testoval "key" a pri zaporne hodnote se rovnou vracel (return OK .. neni to chyba).
==========
[MH, 17/11/97] Opraveno is971117.zip
75 - obsolete message/question
v rutine "cWorkspace::save()" jsem nasel "#ifdef _WIN32_". Pod Win32 je standardne definovan
symbol _WIN32, my tam navic v projektu davame WIN32 (nevim proc?), ale _WIN32_ tam nebude nikdy!
Opravte to vsude, kde to mate spatne..
==========
[MH, 2.12.97]
v define.h se z _WIN32 odvodi WIN32.
76 - obsolete error
pada to v "cWorkspace::save()" (sahate na NULL pointer na radce 688: "if(desc_table[i]!=NULL){").
Workspace zadne nasledniky nemela! Cele zapisovani "NAMEDESC" jsem dal do if-u.
==========
[Kristik, 03.12.97] Chyba opravena
77 - obsolete message/question
prohlizel jsem si funkci "cWorkspace::save()" - proc se obrazky a filtry neumeji ulozit samy?
Mely by svoji metodu save() a vsechno by bylo mnohem prehlednejsi... To, co se dotedka jmenuje save()
a load(), by se u filtru treba prejmenovalo (nebo naopak)...
==========
[Kristik, 26.11.97]
Novy save,load je rozclenen na vicero casti, image obhospodaruje workspace.
78 - obsolete error
pada mi to v rutine "cWorkspace::save_outImages()" (spadne to ve Windows - v KERNEL32.DLL).
Kouknu se, kde se neco prepisuje - krokuji az do SaveGIF() a neverim svym ocim! Uplne na prvni
pohled, jeste davno pred tim, nez jsem tam dokrokoval, vidim chybu (chybi tam "3*")!
A navic jsem vam to uz jednou psal! (viz 10.11.97, bod 10. - chyba 54) Jestli mi to udelate jeste jednou,
tak poletite z projektu ven!!! Nemam cas opravovat vam jednu chybu nekolikrat! I tak jich tam
mate az az.
==========
[smola, 18/11/97]
opraveno v ms971118
79 - obsolete error
mam podezreni, ze rutina "cWorkspace::check()" nenastavuje priznak "checked"
==========
[MH, 17/11/97] Opraveno - is971117.zip
80 - obsolete error
proc je v "cBitmap::setfilename()" ten test "if(filename==NULL)"? Jednak je to vzdy splneno
a kdyby nebylo, tak by stejne dalsi kod byl spatne (nevedel bych, jak velke pole na heapu mam)
==========
[Kristik, 02.12.97] Zbytecne to je, opraveno.
81 - obsolete error
nemeli by vsichni pro alokovani velkych kusu pameti pouzivat nas memory-manager? Ted jsem
zjistil, ze v SaveGIF() se alokuje pole velikosti obrazku pomoci "new"...
==========
[smola, 18/11/97]
domluvime ve ctvrtek
(problem napr u tiffu, kde si knihovna alokuje pamet svymi vlastnimi funkcemi
_TIFFMALLOC ...) co s tim?
82 - obsolete error
~cOwlFilter(): nemusite uvolnovat string se jmenem filtru (dela to ~cFilter()), a kdyz ano,
tak korektne (tj. dosadit tam pak NULL).
==========
[sovicka, 17/11/97]
opraveno 17.11.
83 - obsolete error
v cXImage::setImage() se v memcpy() pracuje s NULL pointery. Je to proto, ze predtim zavolany
LoadXImage() byl neuspesny a jeho navratovy kod se netestuje!!! Opet se to objevilo podruhe
(viz me pripomniky 12.11.97, bod 4. - chyba 60)
==========
[Michal Halva, 17/11/97] Opraveno - IS971117.ZIP
Neresi se tim ovsem vseobecny problem co s chybami ... jen se propaguji dal :((
84 - obsolete error
v io/u_tga.cpp jsou prikazy typu "*GR_ERROR=102;" Od ceho tam mame konstanty?! To je i na jinych
mistech v I/O - opravte to vsude!!!
==========
[sopik, 18/11/97]
opravil
85 - new error
v TGAopen je ne zcela spravny prikaz: "if ( fread(&res1,2,1,file)+fread(&res2,2,1,file)!=2 ) goto fail;"
Myslim, ze se v jazyce C(++) nezarucuje poradi vyhodnocovani souctu! Dejte to do dvou logickych
vyrazu, u logickych spojek je poradi zaruceno...
86 - obsolete error
co je tohle (opet z Targy)?
case 0x1820 :
case 0x1800 :
case 0x1810 :
case 0x1830 :
case 0x1860 :
case 0x18A0 :
vzdyt tam jednotlive bity maji svuj vyznam a je to dobre popsano (napr. v
BARBORA\USR:\VYUKA\PELIKAN\FORMATY\GFORMATS.ARJ\TARGA.DOC)! Koukejte to testovat normalne!
==========
[sopik,18/11/97]
jak jsme se domluvili ve ctvrtek rano to prinesu opravene
87 - new error
i v TGA se alokuje velke pole pomoci new!
88 - obsolete error
opet jsou tu (nova?) "drsna" varovani:
E:\is\io\u_bmp.cpp(125) : warning C4700: local variable 'pal' used without having been initialized
E:\is\io\u_bmp.cpp(194) : warning C4700: local variable 'outRGB' used without having been initialized
E:\is\io\pcx_pa.cpp(240) : warning C4700: local variable 'pompal' used without having been initialized
E:\is\filters\fmatrix.cpp(597) : warning C4700: local variable 'sumR' used without having been initialized
==========
[David Cernoch, 18/11/97]
fmatrix.cpp - opraveno v dc971117
==========
[smola, 18/11/97]
opraveno v ms971118
89 - obsolete error
chyba v loadRGB() - prikaz "if (fread (line,1,tga->xres*3,tga->file)!=1)" je spatne - obratil jste
druhy a treti parametr, vzdycky ohlasite chybu! Mate podobnou chybu na vice mistech!!!
==========
[sopik, 18/11/97]
nasel sem to na dvou mistech a opravil jsem to
90 - obsolete error
uvodni komentar zdrojoveho souboru typu "// Soubor GIF.cpp Martin Smola 1997" NESTACI!
Jak se jmenuje ten soubor, to vidi kazdy, rok taky zname. Jedina informacni hodnota je to jmeno..
Napiste tam spis, co je tam za rutiny (ne vyctem!, ale logicky je zaradit) a presne datum posledni
zmeny.
==========
[smola, 18/11/97]
komentare doplneny u headru v ms971118, dale doplnuji a rozsiruji prubezne
91 - obsolete message/question
jak predavat parametry rutine, ktera uklada soubory na disk? Mnoho grafickych formatu ma ruzne
parametry, kterych bychom meli byt schopni vyuzit! Rozmyslete si do pristi schuzky mozne varianty
reseni (zejmena jadro a I/O).
==========
[MH, 2.12.97]
Od is971201.zip funguji filtry LOAD_IMAGE a SAVE_IMAGE (zatim jen pro PNG format).
92 - obsolete error
v "SaveXImage()" se netestuji pripony zcela korektne. Mel by se skutecne testovat SUFFIX toho
retezce. Napisu na to proceduru "strSuffix()" a dam ji do jpglobal.cpp.
==========
[Michal Halva, 17/11/97] Opraveno - IS971117.ZIP
93 - obsolete error
zmenil jsem soubor "inout.cpp" - dejte ho do nove distribuce. Pri cteni jsem zavrel vstupni
soubor jeste pred tim, nez se zavola nektera cteci rutina (aby to nebylo otevrene dvakrat).
==========
[Michal Halva, 17/11/97] Stalo se - IS971117.ZIP
94 - obsolete error
v souborech "gif.h" a "pcx.h" jsem nasel "typedef char paleta[768];" - doufam, ze to nekdo
nepouziva! Je to totiz spatne (moc kratke).
==========
[smola, 18/11/97]
zlikvidovano (uz se to davno nepouziva, nevim proc jsem to tam nechal)
95 - obsolete error
"png_load.cpp" (a jiste i jinde): vubec se netestuje uspech pri alokaci pameti! Vzdyt mame primo
chybu "ERR_OUTOFMEM". A chyba ve formatu vstupniho souboru by se asi taky mela hlasit pomoci
"ERR_FILEBADFORMAT" (a ne generickym ERR)...
==========
[Michal Halva, 17/11/97] Opraveno - IS971117.ZIP
96 - obsolete message/question
"jppch.h" a "jpwindow.h" mi dejte do adresare "includes"
==========
[Michal Halva, 17/11/97] Stalo se - IS971117.ZIP
97 - obsolete error
konverzni filtry nepropaguji masku! Obrazek jsem mel v PALETTED (s maskou) a filtr pozadoval
format RGBA8. Maska tim zmizela. (okopirovani masky by melo byt v "cReduceFilter::update()"?)
==========
[sovicka, 17/11/97]
opraveno 17.11.
98 - obsolete message/question
vezmete moji proceduru "int usedColors ( const cXImage &pic, uchar8 *used )" z "io/pnm.cpp" a
pridejte ji jako metodu do cXImage. Muze ji vyuzit i GIF, BMP, .. pro redukci poctu barev v
obrazku zapisovanem na disk!
==========
[Michal Halva, 17/11/97] Stalo se - IS971117.ZIP
99 - obsolete message/question
nemel bych si pri ukladani cXImage na disk zamknout bitmapu? Zatim nic takoveho nedelam..
Kucharka pro graficke formaty jeste neni hotova..
==========
Pridam do nove verze jadra zamykani/odmykani v saveXImage.
[MH, 17/11/97]
100 - obsolete message/question
u filtru cFMatrix se konvolucni matice cte z textoveho souboru. Melo by se nejak vyresit, aby
se daly takove filtry prenaset mezi ruznymi instalacemi IS. Definovat treba neco jako "pracovni
adresar IS" (to nemuze byt relativne vuci IS executable, protoze tam nemusi mit lidi prava) a v nem
by pak mohly byt podadresare pro filtry, atd.
101 - obsolete error
"cKeyword_File::putkey_value(char* _key, char* _value)" nemuze fungovat, protoze neinicializujete
promennou "pitem". A to same je na dvou dalsich mistech:
E:\is\kernel\keyword.cpp(171) : warning C4700: local variable 'pitem' used without having been initialized
E:\is\kernel\keyword.cpp(186) : warning C4700: local variable 'pitem' used without having been initialized
E:\is\kernel\workspc.cpp(698) : warning C4700: local variable 'item' used without having been initialized
==========
[Kristik, 26.11.97]
Uz se to nebude opakovat.
Chyba byla opravena k 18.11.1997
102 - obsolete error
proc nema trida "sItem" uz rovnou konstruktory naplnujici polozky Key a Value (ze stringu, int
nebo double)? Vsechno by bylo mnohem jednodussi a ty vase "putkey_value()" by byly dvouradkove!
A kdyz plnite Key, bylo by slusne kontrolovat jeho delku (aby to nespadlo, kdyz to volajici nahodou
prezene) - viz "filtrs/jpwindow.cpp/setItem()".
103 - obsolete message/question
jeste k tem novym verzim nekterych funkci jadra - nemusite si stezovat, ze s tim zatim filtry
nepocitaji. Udelejte pretizene funkce nebo pouzijte default parametr. Tak to nejakou dobu bude
fungovat v obou variantach, dokud to vsichni nepredelaji. Potom ty stare verze zrusite.
Ale takove reseni snad neni nic noveho pod sluncem..
104 - obsolete message/question
do adresare "public/images" jsem dal obrazky, ktere pouzivam ve svych workspacech - aby si nekdo
nestezoval, ze nejdou moje priklady pustit. Do distribuci je samozrejme davat nebudeme.
105 - obsolete message/question
ted jsem se kouknul do nove distribuce (is971117.zip) a zjistil jsem, ze
soubory, ktere jsem tam dal (text/io/io.txt a text/filters/filters.txt) se zmenily
na jp.txt. Je to proto, ze chcete, aby kazdy mohl psat do sveho souboru?
Ja jsem mel na mysli, ze budeme mit SPOLECNOU databazi filtru a formatu!
106 - obsolete error
pozor - soubor is971117dif.zip neobsahuje vsechny zmeny (napr. tam nejsou veci
z adresare "text"). A taky jsem tam nenasel seznam souboru, ktere se maji
smazat (prejmenovat, presunout do jineho adresare). Opet si tedy musim nahrat
i celou distribuci a porovnavat adresare.
==========
[Michal Halva, 17/11/97] Budu se snazit aby to bylo v pristi verzi lepsi.
107 - obsolete message/question
odstranujte, prosim, z adresare "public/new" ty update, ktere jste zapracovali
do distribuce. Udelejte si tam novy adresar nebo pouzijte "old" pro vsechno
(stare distribuce i update).
==========
[Michal Halva, 17/11/97] Budu nechavat veci v /new do vydani noveho kernelu, pak je presunu do /old.
108 - obsolete message/question
Navrhuji, aby se do distribuce davaly i log-soubory jednotlivych clenu tymu.
Aby bylo videt, na cem kdo delal a co opravil, ... Mohl by se na to udelat
adresar (treba "text/log").
Ja svuj soubor jpXXX.txt vzdycky dam do "update" archivu.
==========
[JP, 20.11.97] Navrhuji adresar na log-soubory: text/log
109 - obsolete message/question
[MH, 17/11/97]
==========
[JP, 19/11/97]
Ja co nejdrive presunu vetsinu vyrizenych veci do "obsolete". A dotedka nebylo
uplne jasne, kdo co napsal, takze jsem to nemohl adresovat...
110 - obsolete message/question
[MH, 17/11/97]
==========
[JP, 19.11.97]
Chtel bych, aby obsahoval vsechny zmeny!
Viz hlaska 127
111 - current error
LoadLibrary
.
V Linuxu to funguje bez problemu, ale ve win32 musim tu knihovnu slinkovat s
kernel.lib
coz se mi vubec nelibi.
[MH, 17/11/97][
==========
[JP, 20.11.97]
Ptal jsem se na to Vojty Jakla a on nevedel.. Rikal dokonce,
ze to mozna vubec nejde. Me se tomu nechce verit a zkusim jeste neco zjistit
(proc by se to pak jmenovalo "dynamicke linkovani").
112 - obsolete error
[MH, 17/11/97]
113 - obsolete error
odstranit dfilters.h
z adresare filters/
==========
[MH, 18/11/97] Opraveno is971118.zip
114 - obsolete error
GUI pri prepocitavani uz jednou spocitaneho obrazku sice zmeni obsah, ale
ne rozmery.
==========
[Hynek Bakstein, 18/11/97]
Uz je to opraveno v is/public/new/xg971118.zip
115 - obsolete message/question
Chtelo by to nejakym rozumnym zpusobem vyresit registraci filtru
pro GUI - mely by se na ni dohodnout obe poloviny GUI.
==========
[MH, 2.12.97]
register.cpp registerAllFilters()
a cKernel::getRegisteredFilters()
116 - obsolete error
jadro is971117
v kernel.cpp funkci loadFilterLibrary je spatne #ifdef - na nicem jinem nez
_WIN32 to nemuze bezet....
==========
[MH, 1.12.97]
Opraveno v is97112?.zip
117 - obsolete error
jadro is971118
v distribuci chybi includes/gui_coms.h
chyba 116 trva
==========
On tam je ... bohuzel se jmenuje GUI_COMS.H (velka pismena) ... opravim.
[MH, 17/11/97]
118 - new error
GIF v gif.cpp includuje Gifgloba.h misto gifgloba.h a odstranit #define NULL a
#define ASSERT (nebo zavrit do #ifndef #endif) v hlavickovych souborech
119 - obsolete error
jfilters.h - v makru NEWSTR se alokuje pouze strlen() misto strlen() + 1
==========
[sovicka, 19/11/97]
hmm, pekna - v dnesni verzi to bude opravene
120 - obsolete error
XGUI pada pri zadani chybneho parametru na command line
==========
[Hynek Bakstein, 20.11.97]
opraveno v xg971120.zip
121 - obsolete message/question
Chtelo by to nejakou strukturu v jadru ze ktere by GUI zjistilo jake filtry jsou k dispozici
nebavi mne editovat cizi zdrojaky abych novy filtr vyzkousel
==========
[MH, 2.12.97]
cKernel::getRegisteredFilters()
122 - obsolete error
config.h: mely by tam byt jen zakladni konstanty (nezavisle na ostatnich!). Napr. GUI, THREADS,
ANSII, uint16, uchar8, uint32, ...
Ty odvozene veci vcetne ekvivalenci (WORD == uint16) uz by mely byt v jinem souboru (define.h).
==========
[MH, 2.12.97]
Predelano v is971201.zip
123 - obsolete message/question
chci napsat filtr, ktery by generoval testovaci obrazek ("ETALON"). Nepotrebuji zadny vstup,
ale neni mi jasne, jestli tam nejaky nebudu muset z formalnich duvodu dat.. Promyslete si (pokud
to opravdu v soucasne verzi nejde), zda by se to nedalo nejak opravit. Napr. by se pri priprave
"update" prochazel strom zavislosti odzadu (beztak je to logicke) a filtr by nemusel mit predchudce.
==========
[Kristik, 19/11/97]
Jediny co me napada.. pri zachovani soucasneho stavu, by mohla existovat skupina bez
GENERATE-IMAGE filtru, ktere ani nejsou vstupem workspace( neni mi jasny jestli update
by dokazal neco takoveho spolknout) , jen tak zacinaji, sami se staraji o naplneni
vetve-i ,... problem ktery vidim ja je jak se k nim chovat v BLACKBOX ? nebudou napojeny
co udela update, kdyz to budou nejake filtry loadujici image z disku a ten neni k dispozici
mozna by pomohlo temto filtrum dialogy, pak v pripade neuspechu spoustet misto update run a update..
techto filtru..
124 - obsolete error
dialog-HOWTO.html: v bode 8. je preklep v "CreateWidgets()", bod 10. "reakci NA udalost..."
Vim, ze to neni zadny finalni text, ale nemohly by se tam opravit carky oddelujici vedlejsi vety..?
Dale tam chybi autor a datum.
==========
[Hynek Bakstein, 20.11.97]
opraveno v xg971120.zip i v on-line verzi, krome kontroly carek... pak to prepisu do cestiny s interpunkci a zkraslim.
125 - obsolete message/question
rozhodl jsem se udelat objekt "cDraw", ktery muze byt prirazen k nasemu "cXImage" a bude do nej
umet kreslit jednoduche utvary (body, usecky, elipsy, obdelniky, n-uhelniky, [pismo,] ...) i
s vyplnovanim (pomoci vzorku, atd.). Zatim udelam jenom sablonu toho objektu a postupne tam budu
(ja nebo treba i nekdo jiny) pridavat jednotlive kreslici rutiny...
==========
[Kristik, 19/11/97]
nepochopil jsem zda cDraw se bude chovat jako filtr ci co ?
==========
[JP, 19.11.97]
Ne, ale pripadne budouci malujici filtry by ho mohly pouzivat.
Ja to ted potrebuju pro kresleni "etalonoveho" obrazku...
(spousta tenkych car, tecek, barevnych skal, ..)
126 - new message/question
prepocitavat "alpha" v konvolucnich (a jinych) filtrech? Zatim u AVERAGE prepocitavam a u DIFFERENCE
propaguji z 1. vstupu...
127 - new error
vsichni clenove tymu budou ve svych updatech uvadet soubor "changes.txt", ve kterem napisou:
- aktualni datum
- datum posledniho (predchoziho) update/distribuce - tj. PROTI CEMU jsou brany zmeny!
- seznam vsech zmenenych souboru (ktere spadaji pod jejich kompetenci)
- seznam vsech smazanych/prejmenovanych souboru (ktere spadaji pod jejich kompetenci)
- seznam vsech zmen v cizich souborech (tim nemyslim navrhy zmen nebo chybova hlaseni - ta patri
jinam! - ale zmeny v rutinach, ktere puvodne napsali oni a pak byly presunuty do jineho modulu)
V update se musi zachovavat stejna hierarchie adresaru jako v distribucich (isXXXX.zip)!
To vsechno by melo pomoci koordinatorovi davat dohromady "diff" archivy i kompilovat spravne
a kompletni distribuce! Poznamky koordinatora jsou vitany!
128 - obsolete message/question
vsichni si piste svuj pracovni "log-file" a davejte ho do update (a koordinator je pak vsechny
bude davat do distribuce). Na formatu a kodovani nezalezi, muzete pripisovat na zacatek nebo na konec...
Klidne do toho michejte i hlaseni o chybach (jako to delam ja) - ty chyby ale pak nezapomente dat
do naseho on-line seznamu.
129 - obsolete message/question
v distribuci is971117 "jpseparate.cpp" mi pan Halva opravil chybu - chvalyhodne, ale proc jsem
se o tom nedozvedel?! Prisel jsem na to jen nahodou podle data zmeny toho souboru. Normalne si svoje
soubory z distribuce neberu (protoze na nich vetsinou mezitim delam)!
130 - obsolete message/question
bylo by dobre, abychom byli schopni vytvorit animovany GIF nebo pripojit k nasemu workspaceu modul
pro MPEG kodovani a vyrobit animacni sekvenci..
==========
[MH, 2.12.97]
Od is971201 funguji filtry bez vstupu/vystupu ... takze tomu nic nebrani.
131 - new message/question
mely by se jeste urcite udelat nasledujici I/O formaty: SUN rasterfile, SGI (aby se dala nacitat
data vygenerovana programem 'gscan' v nasem grafickem koutku)
132 - obsolete error
nefunguji mi okraje "BT_FLIP" ("Src->setBounds(2,0,BT_FLIP,NULL);") Pri zavolani update()
meho filtru je v okraji neinicializovana pamet.
==========
[MH, 20.11.97] Opraveno (nethreadova verze) is971120.zip
==========
V is971124 je to snad uz konecne dobre [MH, 24.11.97]
133 - obsolete message/question
potreboval bych funkci, ktera vymeni u filtu existujici vstupni image za novou
na stejne pacicce. Pouziti - pri vlozeni filtru mezi existujici image a filtr
vlozim za novy filtr novou image a tu pripojom misto puvodni image (za kterou vkladam ten filtr)
na stejnou pacicku.
==========
[Kristik, 02.12.97] metoda doplnena cWorkspace::changeFilter
134 - new error
TGA pri nacitani otevira soubor R/W - pokud je soubor read-only, pak to spadne
135 - obsolete error
Uz jednou jsem si stezoval (msg 112) a dnes se opet v /new objevily zahadne
soubory jpeglib.zip (pokud je to knihovna ma byt v /libs - jpglib tam uz
mimochodem je, pokud je to VS's zdrojak ma se jmenovat rozumne) a
wingui~1.zip ...
Takze vas znova (a doufam naposledy) zadam, abyste dodrzovali format
xxYYMMDD.zip (kde xx je nejaka, pro vas konstantni, zkratka)
Diky.
136 - obsolete error
filtr CONVERT nema run() (vyber formatu do ktereho chci konvertovat).
==========
[sovicka, 28.11.97]
opraveno v js971125 (ale je tam jeste chyba v konverzi do paletted :( )
137 - obsolete error
image.h (a asi i jinde): header "define.h" by mel byt includovany jako prvni v poradi! Doporucuji
udelat si (pro jistotu) nejaky header (pch.h), ve kterem by byly vsechny obecne pouzivane headery
(ve spravnem poradi!) includovany. A na prekladaci s PCH to bude i rychlejsi.
==========
Udelal jsem header is_pch.h, kernel uz ho pouziva, doufam ze se pripoji i filtry a io. [MH, 24.11.97]
138 - obsolete error
symbol _DEBUG se v define.h (ani nikde jinde) nesmi definovat! Ve VC se pouziva k rozliseni DEBUG/RELEASE
a podle toho ja se napr. ridim pri definovani ASSERTu (ASSERT v release verzi nefunguje - nejde
prilinkovat). Dejte z "define.h" pryc "#define DEBUG" nebo prepiste tu definici _DEBUG.
==========
Opraveno is971124 [MH, 24.11.97]
139 - new error
gifglobal.h: cela definice "#ifdef _DEBUG" by jeste mela byt uzavrena do "#ifndef ASSERT"
140 - new message/question
do vasich update archivu (do souboru changes.txt) piste jeste zmeny v projektu - ktere soubory
se maji pridat do makefile/projektu a ktere se maji naopak odstranit!
141 - obsolete error
cWorkspace::save() (workspc.cpp:721): pouziva se tam neinicializovany pointer (item). Opravil jsem si
to u sebe na 'keys'.
==========
[Kristik, 24.11.97]
V novem save se chyba nevyskytuje..( aspon ne tahle )
142 - obsolete error
pouzivam radkovou verzi pod Win32. Protoze mam zapnuty symbol DEBUG, vypisuji se mj. i hlasky
memory-manageru. Jeste minule se vzdycky na konci uvolnila pamet (bylo locked = allocd = 0B), ted ale
zustava alokovana (zrejme bitmapa vystup. obrazku - mam wsf se 3 obrazky im1->im2->im3 a zustane
alokovany key=2).
==========
V is971124 by to melo byt OK (pokud filtr na konci update vola uncheckBitmap)
[MH, 24.11.97]
143 - new message/question
cXImage::setBounds(): ...color barva okraje. Pokud je obrázek v formátu IF_PALETTED
použije se (v tomto pořadí):
color
je vložen do palety.
144 - obsolete message/question
proc se v "item.h" includuje <string.h>?
==========
[Kristik, 24.11.97]
Psal jsem to, ale nevim proc.., je to prebytek.
145 - new error
do seznamu filtru (a I/O formatu) nepiste implementacni detaily (nebo popisy nejakych pomocnych
trid!). Jenom filtry, jak je muzu pouzit ve workspace. Je to urceno pro uzivatele filtru, takze
je dulezita jakakoliv semanticka informace (CO presne to dela), ale ne uz JAK jste to udelali..
146 - obsolete error
sve log-soubory davejte, prosim, do adresare "text/log" (ne napr. do "text/filters")
==========
[David Cernoch, 24.11.97]
od dc971124 tomu tak bude...
147 - obsolete error
Filtry MIRROR a FLIP (a mozna i nektere dalsi) nepracuji korektne s okraji
a na konci nevolaji uncheckBitmap()
==========
[David Cernoch, 24.11.97]
opraveno v dc971124
148 - obsolete error
Pokud je ve wsf souboru NAMEDESC="" (vzniknul ulozenim jineho wsf bez namedesc)
tak se pri nacitani cWorkspace::load() zhrouti.
==========
[Kristik, 24.11.97]
Skutecne se tomu tak delo , kvuli neinicializaci prommenne i. Vsem obetem se timto omlouvam
a odkazuji na up971124.zip, kde je toto odstraneno
149 - obsolete error
V jfilters.h se alokuje prilis male pole na id HSVCOLORMASK -> is spadne.
Pokud potrebujete kopii stringu, najdete v support.* funkci
safe_strdup()
ktera se chova korektne.
==========
[sovicka, 25.11.97]
opraveno v js971125.zip
==========
[JP, 26.11.97] Je zajimave, ze po moji davne poznamce si kazdy udelel svoje
makro/funkci pro kopirovani stringu na heap.
150 - obsolete error
v jp971120 jsou v souboru io/inout.cpp
jsou u fci uvedeny spatne
navratove hodnoty (short
misto int
).
==========
[JP, 26.11.97] Ja jsem jen prepisoval jine kusy kodu. V nove verzi (jp971125)
je to uz dobre.
151 - obsolete error
filtr cFResize nevola unCheck Bitmap na konci update -> image zustava zamcena
==========
[David Cernoch, 25.11.97]
opraveno v dc971125
152 - obsolete error
filtr EDGE_DETECT nema spravne popisky -> pozor nova verze GUI uz na to bere ohled a nepopsane vstupy a vystupy filtru nebere...
zadne implicitni nastaveni vstupu a vystupu se nedeje -> kazdy si musi zajistit popisy sam
==========
[David Cernoch, 25.11.97]
opraveno v dc971125
153 - obsolete message/question
mohly by se odstranit soubory io/detga.h, .cpp - stejne se v Makefilech nepouzivaji...
154 - new error
nefunguje mi save TGA ve formatu RGBA16 (uplne cerny obrazek)
155 - new error
nefunguje mi save PCX ve formatu RGBA16 (vytvori soubor s nulovou delkou)
156 - new error
nefunguje mi save BMP ve formatu RGBA16 (chyba ochrany pameti na u_bmp.cpp:426 - neni to dodelane?)
157 - obsolete error
konfigurace (workspace) ulozena pod Win95 tam ma porad "SYSTEM=UNIX"
==========
[Kristik, 26.11.97]
Mel jsem za to, ze ukladani se rozhodne podle konstanty _WIN32, respektive jiho definovani..
Pokud tomu tak neni bude se muset zavest nase konstanta zavisla na prekladu.
158 - new message/question
alpha == 0xFF00 by se mela chapat jako ekvivalentni s 0xFFFF (vznikne to konverzi z BYTE na WORD)
Nebo prevadet "word = ((WORD)byte) * 257" ? (misto "word = ((WORD)byte) << 8")
159 - obsolete error
v DOC++ komentari k cXImage::isGray() je asi chyba - pro RGBA16 to nevraci TRUE
==========
[MH, 1.12.97]
Opraven komentar, implementovana isGray(): is971201.zip
160 - obsolete message/question
mame nekde metodu na okopirovani palety mezi dvema cXImage? Hodila by se mi a jak jsem se koukal
i jinym (napr. cFFlip, ..)
==========
[MH, 1.12.97]
cXImage::copyPalette(cXImage*)
is971201.zip
161 - obsolete error
nefunguje konverzni filtr z PALETTED do RGBA16 (vytvori uplne cerny obrazek). PALETTED->RGBA8 funguje.
==========
[sovicka, 04.12.97] opraveno v js971203.zip
162 - new error
SAVE_PCX zapisuje do casti pameti, do ktere mu nic neni.
==========
[JP, 26.11.97] Neslo by to popsat presneji? Jaky format, kde (na ktere radce
kodu se to deje)..
163 - obsolete message/question
v distribuci pribyl adresar "scripts", ale v rootu jsou porad Makefile.*. Jak to ma byt spravne?
==========
[MH, 1.12.97]
Odstranil jsem je, nemely by nikomu chybet (is971201.zip)
164 - obsolete error
[MS] - pouzivejte adresarovou strukturu ve svych archivech! Zmeny.txt asi ma byt
"ms.log"??
==========
[smola, 03.12.97] polepsim se (jsou to posledni zmeny v mych zdrojacich + informace
o pridanych/ubranych filech)
165 - obsolete message/question
podle id971128:readme.txt jsem mel pridat na zacatek "futil.cpp": #include "is_pch.h"
to pak ale v "futil.h" nemusim includovat "define.h"?!
==========
[David Cernoch, 2.12.97]
opraveno v dc971201.zip
166 - obsolete error
is_pch.h: #include <windows.h> by tam nemelo byt pokazde, kdyz je _WIN32, ale jen pri GUI
==========
[MH, 1.12.97]
- windows.h je pouzivano i jinde: dll,thready,temp adresar
- to by se muselo ve vsech headerech includovat is_pch.h
- float.h - opraveno is971201.zip
- dialog.h - opraveno is971201.zip
==========
[JP, 3.12.97] Tak to <windows.h> je v poradku. Casem by vsichni mohli ten
header "is_pch.h" pouzivat.
167 - obsolete error
jaky je endian na SGI? v "config.h" jsem nasel jen rozliseni Intel versus zbytek sveta (a vlastne
je to taky spatne, protoze Windows NT jsou i na SGI (a DEC Alpha) a tam je mozna endian jiny!
// comment-out exactly one of the two following lines:
#define INT32
//#define INT64
==========
[MH, 1.12.97]
V is971201.zip jsem to prekopal ... snad uz konecne dobre
168 - new error
Pro vsechny (gr_tga.cpp i jinde): includujte "is_pch.h" na zacatku! Nebo alespon dodrzujte poradi
headeru z "is_pch.h". Na mnoha mistech se includuje "define.h" az za nejakymi vasimi headery a to pak
nejde prelozit!
169 - obsolete error
"u_gem.cpp": co znamena to #include <assert.h>? To je nejaky ANSII header?
170 - obsolete error
porad jeste v nekterych souborech chybi autor!!! (gr_utils, atd.)
171 - obsolete message/question
nenazyvejte, prosim, includovane soubory *.x a *.w!! Pismeno 'x' nebo 'w' muze byt prece uz pred
teckou.
==========
[MH, 1.12.97]
Upraveno: is971201.zip
172 - obsolete error
u nasich headeru pouzivejte pouze #include s uvozovkami (#include "png.h")
==========
[MH, 1.12.97]
Opraveno: is971201.zip
173 - obsolete message/question
colorfilt.cpp si definuje (jako nekolik dalsich souboru) symboly WORD, atd. Proc to neni v jednom
spolecnem headeru?
==========
[MH, 1.12.97]
V jednom spolecnem headeru to je (define.h).
==========
[sovicka, 04.12.97]
uz jsem to konecne opravil a to i v ostatnich souborech (js971203.zip)
174 - obsolete message/question
proc je v distribuci porad "detga.*" ?
==========
[MH, 1.12.97]
Uz neni: is971201.zip
175 - obsolete error
filter-HOWTO.html (modifik. 25.11.97):
- u VSECH polozek (namatkou char *id, *name) napsat, jestli musi byt na heapu, kdo je alokuje, kdo
uvolnuje a zda nemohou nejake dva pointery ukazovat na spolecny string (viz id a name)
- poznamenat, ze vstupni obrazky nejsou povinne (a jak to je u I/O filtru - na ty asi tahle kucharka
nepasuje, tak to tam napiste!)
- "if( ( !input) || ( !input->upToDate()) ) input->compute( this);" pro input==NULL to prece spadne!
- " for(;
{" ten for-cyklus je nejak spatne
- a "int cMyFilter::load()" musi vzdy vracet hodnotu!
- update() nema mit parametr (v nasledujici radce to sam pisete)
- nemelo by se i "src->wait()" volat jen na kazdou x-tou radku??
- outputChangeNotify() - pokud ma muj filtr promenny pocet vystupu, ale nepotrebuji na jejich zmenu
reagovat, tak to predefinovavat nemusim ??! Kdyz napr. chci mit alespon jeden ze 4 vystupu,
tak stejne neni vhodne, abych pri kazdem odpojeni posledniho vystupu na uzivatele kricel, ze to
nesmi delat.. Zkontrolovat bych si to mel spis nekde jinde.. (to je potreba prodiskutovat s autory
GUI a jadra)
- setParams() - ta dohoda pro posledni parametr - ja si myslim, ze to tam nepatri. Jadro si prece
jedinym prikazem muze tu velikost osetrit. Nemuzeme chtit takove veci po autorech filtru!
Filtr by si okraj zadaval jen tehdy, kdyz ho z nejakeho duvodu (moc si to teda nedovedu predstavit)
sam potrebuje!
- jinak se mi to libi, chvalim za aktualizaci
==========
[David Cernoch, 2.12.97]
chyby by jsou uz opravene (dc971202.zip). Co zatim neni je rozdil IO/normalni
filtry a uprava popisu outputChangeNotify() - na tom se dohodneme s jadrem a GUI
na dalsi schuzce...
176 - obsolete error
cXImage::setParams() - dejte tam prikaz "if ( border_size < _border_size ) border_size=_border_size;"
aby to nezmenseni okraje nebylo na zodpovednosti autora filtru (pokud my to nezmensovani opravdu
z nejakeho vazneho duvodu potrebujeme) a default hodnota toho parametru by mela byt 0 (malokdo
potrebuje na vystupu okraj)
==========
[MH, 1.12.97]
Opraveno: is971201.zip
177 - obsolete message/question
tak me napada - nemohly by se sloucit metody setBounds() a setFormat(), aby filtry mohly volat
jen jednu rutinu z jadra pro nastaveni pozadovaneho formatu vstup. obrazku?
==========
[MH, 1.12.97]
V is 971201.zip je funkce setFormatExt()
178 - obsolete message/question
dejte do setBounds() pro posledni parametr default hodnotu NULL (aby se to nemuselo vsude psat)
==========
[MH, 1.12.97]
Pridano: is971201.zip
179 - new message/question
pro vsechny: vite o tom, ze do parametru funkce lze napsat "const"? Skoro mi pripada, ze ne :)
Obzvlast u struktur, objektu a stringu (kdyz to nemuzu predat hondnotou, ale odkazem) je to uzitecna
vec - kazdy pak dokaze odlisit vstupni a vystupni parametry, vas to ochrani proti nekterym chybam
zamena promennych..
180 - obsolete error
v "cKeyword_File::putKeyValue(char* _key, double _value)" pouzivejte "%.Ng", kde N je cislo >= 16
v te vasi variante se nezapisuji dobre velka cisla (s exponentem)
==========
[Kristik, 02.12.97] Opravim k 4.12.97
181 - obsolete error
"cKeyword_File::getNextKey(sItem* item)" - porad tam nachazim magicke konstanty (500)
==========
[Kristik, 02.12.97] Magicke cislo jsem prehledl. Opraveno k 02.12.97
182 - obsolete error
neprovadi se konverze pozadovana filtrem (rutinou setFormat() - tam to projde prikazem,
u ktereho je komentar "// nemelo by se stat, o konverzi zada "cizi" filter"). Cele je to teda
zpusobene tim, ze pri zavolani me metody init() je "this->inp_images[0]->dep_filter[0] != this" !!!
==========
[MH, 1.12.97]
Dival jsem se na to, ale chybu jsem nenasel. Nemate k dispozici wsf soubor
na kterem to zhavaruje ?
==========
[MH, 2.12.97]
Chyba byla nalezena a opravena v id971202.zip
183 - obsolete message/question
v "cXImage::setImage()" jsem nasel cast kodu, ktera do cesty k souboru dava bud "\\" nebo "/"
(podle platformy). Myslim, ze jsme rikali, ze i Win32 umeji otevirat soubor, ktery tam ma lomitka..
Pan Brezina tam mel prece tenkrat jinou chybu!
==========
[Kristik, 03.12.97] Tohle jsem delal jako prizpusobeni se platforme na namitky windosaku o nekorektnosti cest.
Prebytecny kod bude odstranen.
184 - obsolete error
GIF stale problem s redefinici NULL a ASSERT. Uz me to docela...
185 - new error
sunicon.cpp:42 je tam test if( fclose( ...) == NULL)...
-
spravne: if( fclose( ...) != 0)...
!!!
186 - obsolete error
jpgeometry.cpp:148 radka Region::~Region()
. Abych pravdu rekl, nevim co
to ma delat, kazdopadne mi to gcc nevezme...
==========
[JP, 3.12.97] To je konfliktem symbolu (jp971202 uz je - snad - OK)
Zkontrolujte mi, prosim, ty moje nove symboly (sColor, cPen, cRegion,
cPattern, cFont) v XWindow.
==========
[JP, 5.12.97]
S vasi opravou souhlasim ("this->~cRegion()")
187 - obsolete error
jpgeometry.cpp:202ptr = result ? new XTransition(LeftBound) : NULL;
- gcc chce ptr = result ? new XTransition(LeftBound) : ( XTransition *)NULL;
==========
[JP, 3.12.97] To je zajimave, pripada mi to jako chyba v prekladaci.
Kdyz se prirazuje "AnyType *ptr = NULL;", tak to je prece dobre...
188 - obsolete error
jpgeometry.cpp Region
a Font
jsou X-ovske struktury
- v teto podobe nelze prelozit v X-windows verzi.
==========
[JP, 3.12.97] Prejmenovano v jp971202
189 - new error
tkostky.cpp includovat is_pch.h
190 - obsolete error
jpdraw.h typedef struct {...} Color;
a nasledne v .cpp
Color::...
gcc take nevezme. Musi to byt: struct Color {...};
==========
[JP, 3.12.97] Vsechny sve deklarace jsem predelal na C++ styl - jp971202
191 - obsolete error
Pokud filtr v load() vrati chybu, mela by se o tom vypsat alespon minimalni
informace (alespon ktery filtr to byl)
==========
[Kristik, 03.12.97] Doplneno k datu 97.12.02
192 - obsolete message/question
nemel by v is_pch.h
byt dialog.h
na konci (nebo
alespon ne na zacatku)???
==========
[MH, 1.12.97]
Opraveno: is971201.zip
193 - obsolete message/question
GIF to co je v is971127 resp. id971128, tak se GIF proste nenacte
==========
[smola, 03.12.97] pravdepodobne 'si zkousel gif89 a ten zatim nesel, ted (ve ctrtecni verzi) uz to bude ok
194 - obsolete error
Pokud neuvedu v IMAGEID
vsechny obrazky, program
zhavaruje na segmentation fault
==========
[Kristik, 03.12.97] Dobre zachytim to..
195 - obsolete message/question
Existuje nekde rozumny popis mechanismu registrovani promenne
v kernelu?
==========
[Kristik, 03.12.97] neexistuje. registrovani provadi ta sama metoda co zmenu cKernel::changeSetting
196 - obsolete message/question
Nenasel jsem dokumentaci k masce. Existuje?
==========
[sovicka, 04.12.97]
existuje - je v headeru includes/mask.h jestli to nestaci dej vedet napisu neco obsahlejsiho
197 - obsolete message/question
V MASKBOXU se pouzivaji jakesi magicka cisla jako kod operace. Pritom ale
existuji i konstanty. :-()
==========
[sovicka, 04.12.97]
hmmm - opraveno v js971203.zip
198 - obsolete message/question
Co delaji v distribuci soubory tfft.cpp
,
tfftint.cpp
a tifft.cpp
, kdyz v nich nic neni???
==========
[MH, 1.12.97]
Byly mi predany s tim, abych je zaradil do distribuce Makefile.* a is.mdp s tim,
ze casem budou ... tak jsem to ucinil
199 - obsolete error
pri prekladu is971201.zip mi to v object.h hlasilo NULL was not declared at this scope... bodejt by byl,
kdyz tam nebylo nikde #include <stdlib.h> ... jenom define.h. Jinak bychom meli
vyresit jak v archivech uchovat exec. flag u nekterych souboru. (skriptu pro vytvoreni Makefile)
Navrhuji ty skripty, ktere exec flag maji sTARovat - stejne se pouzivaji jenom
na UNIXu, kde si to kazdy rozTARuje.
200 - obsolete error
stdlib.h
zmizi kvuli tem zavorkam... takze tam nidke nebylo #inlude stdlib.h
a proto ten NULL neznal...
201 - obsolete error
tak znova a naposled.... nebylo tam #include "stdlib.h" ... porad mi to s tema
mensitkama a vetsitkama bral jako HTML tag.... :-)
==========
[MH, 1.12.97]
Hmmm ... pod win32 to funguje OK (NULL je nejspise definovano v memory.h, ktere
se includuje v define.h) , opravim
202 - new error
Maskbox nefunguje (zhrouti se) pokud je obdelnik vetsi nez obrazek.
203 - new error
fmatrix.cpp(26): Memory leak; 7 bytes allocated by operator new in D:\PROJECTS\IS\filters\fmatrix.cpp at line 26, HANDLE: 0x026ACA00M
fmatrix.cpp(29): Memory leak; 4 bytes allocated by operator new in D:\PROJECTS\IS\filters\fmatrix.cpp at line 29, HANDLE: 0x026ACA58M
jpwindow.cpp(48): Memory leak; 16 bytes allocated by operator new in D:\PROJECTS\IS\filters\jpwindow.cpp at line 48, HANDLE: 0x026AEFA0M
jpglobal.cpp(67): Memory leak; 7 bytes allocated by operator new in D:\PROJECTS\IS\filters\jpglobal.cpp at line 67, HANDLE: 0x026AF000M
fseprgb.cpp(24): Memory leak; 20 bytes allocated by operator new in D:\PROJECTS\IS\filters\fseprgb.cpp at line 24, HANDLE: 0x027B7120M
fseprgb.cpp(26): Memory leak; 6 bytes allocated by operator new in D:\PROJECTS\IS\filters\fseprgb.cpp at line 26, HANDLE: 0x027B7180M
fseprgb.cpp(28): Memory leak; 12 bytes allocated by operator new in D:\PROJECTS\IS\filters\fseprgb.cpp at line 28, HANDLE: 0x027B71D8M
fseprgb.cpp(30): Memory leak; 14 bytes allocated by operator new in D:\PROJECTS\IS\filters\fseprgb.cpp at line 30, HANDLE: 0x027B7230M
fseprgb.cpp(32): Memory leak; 13 bytes allocated by operator new in D:\PROJECTS\IS\filters\fseprgb.cpp at line 32, HANDLE: 0x027B7290M
alphfilt.cpp(738): Memory leak; 208 bytes allocated by operator new in D:\PROJECTS\IS\filters\alphfilt.cpp at line 738, HANDLE: 0x027C80E0M
alphfilt.cpp(740): Memory leak; 7 bytes allocated by operator new in D:\PROJECTS\IS\filters\alphfilt.cpp at line 740, HANDLE: 0x027C8200M
alphfilt.cpp(743): Memory leak; 8 bytes allocated by operator new in D:\PROJECTS\IS\filters\alphfilt.cpp at line 743, HANDLE: 0x027C8258M
support.cpp(50): Memory leak; 10 bytes allocated by operator new in D:\PROJECTS\IS\kernel\support.cpp at line 50, HANDLE: 0x027C9D48M
gif87.cpp(669): Memory leak; 1196 bytes allocated by operator new in D:\PROJECTS\IS\io\gif87.cpp at line 669, HANDLE: 0x027CE100M
gif87.cpp(472): Memory leak; 136 bytes allocated by operator new in D:\PROJECTS\IS\io\gif87.cpp at line 472, HANDLE: 0x027CF648M
lzw.cpp(41): Memory leak; 24576 bytes allocated by operator new in D:\PROJECTS\IS\io\lzw.cpp at line 41, HANDLE: 0x027D0770M
gif.cpp(139): Memory leak; 768 bytes allocated by operator new in D:\PROJECTS\IS\io\gif.cpp at line 139, HANDLE: 0x027DB3D8M
bitstrea.cpp(107): Memory leak; 65536 bytes allocated by realloc in D:\PROJECTS\IS\io\bitstrea.cpp at line 107, HANDLE: 0x027DB7C0M
gif.cpp(80): Memory leak; 125860 bytes allocated by operator new in D:\PROJECTS\IS\io\gif.cpp at line 80, HANDLE: 0x02846720M
gif.cpp(123): Memory leak; 125861 bytes allocated by operator new in D:\PROJECTS\IS\io\gif.cpp at line 123, HANDLE: 0x02886EB8M
Tohle jsou zatim objevene "memory leaky" (netestoval jsem zdaleka vsechno)
Zvlast MS by to mel urychlene opravit z GIFu pamet primo tece ...
204 - obsolete message/question
==========
[JP, 3.12.97] WORD, BYTE a DWORD by se mely definovat pomoci
"typedef" (a je to tak snad udelano v "define.h")
205 - obsolete message/question
ad message 204 - kdo se jmenuje (nebo ma prozdivku) nutne upravy???
206 - new error
bsplin_f.cpp funkce guiDrawLine()
by mela
vzdy byt zavrena mezi #ifdef GUI ... #endif
207 - obsolete message/question
mohli bychom mit spolecne adresare pro matice filtru, fonty a kreslici scripty (ty scripty mohou
byt i u WSF), co pro to jadro poskytuje?
208 - obsolete error
metoda "cXImage::usedColors()" by mela byt "const" a dale jsem si vsimnul, ze neni opravena chyba
na konci rutiny: misto
if ( u != used ) {
memcpy(used,u,256);
delete []u;
}
ma byt jen
if ( !used ) delete []u;
==========
[MH, 8.12.97]
Opraveno is971208.zip.
209 - new message/question
linkovani plugin DLL s KERNEL.LIB by nemuselo byt na zavadu, protoze se tim velikost vysledne
DLL nezvetsi. Zustane jen mensi neprijemnost - nutnost dodavat s distribucemi i ten .LIB soubor
a (asi?) binarni neprenostitelnost uzivatelskych pluginu (s novou verzi IS se budou muset vsechny
pluginy znova slinkovat ?? nevim jiste - nekteri odbornici tvrdi, ze to neni potreba ??).
210 - new message/question
navrhuji automatickou registraci pluginu - budeme mit nejaky adresar, ktery se pri startu IS
projde a vsechny DLL v nem nalezene se zkusi spustit a zaregistrovat. K tomu ale musi byt dohodnuta
vhodna konvence - napr. jakou funkci museji DLL exportovat (aby mohl kernel vyzkouset, jedna-li se
o IS plugin - a nejlepsi by bylo, kdyby se take dalo poznat, pro kterou verzi IS byl modul vyroben
[zpetna kompatibilita])
211 - obsolete error
neinicializovane promenne:
E:\is\kernel\undoredo.cpp(88) : warning C4700: local variable 'pitem' used without having been initialized
E:\is\io\png_io.cpp(189) : warning C4700: local variable 'p' used without having been initialized
E:\is\io\png_load.cpp(147) : warning C4700: local variable 'p' used without having been initialized
==========
[MH, 8.12.97]
Opraveno is971208.zip.
212 - obsolete error
define.h: porad tam je chyba v pouziti symbolu DEBUG (kvuli ni se mi spatne definovalo VERIFY())
Co ma ten symbol znamenat (chybi komentare v config.h)?
==========
[MH, 8.12.97]
is971208.zip: pro vypis chybovych hlasek je pouzivano VERBOSE
(definuje se v config.h), z NDEBUG -> #undef DEBUG
213 - obsolete message/question
musel jsem si v is_pch.h zakomentovat "#include <windows.h>", protoze jinak je prekladani asi
5x pomalejsi a na disku je potreba desitky megabytu!! (pouzivam "generate browse info"). Nikomu
to nevadi. Nedalo by se s tim neco udelat?
==========
[MH, 8.12.97]
V is971208 jem to vykomentoval, az bude is_pch inkludovano do vsech cpp souboru,
nemelo by to zpomalovat ...
==========
[JP, 8.12.97]
No, pro me je vetsi problem ta spotreba disku pri zapnuti
"browser info" (50MB na to nechci uvolnovat)
214 - obsolete error
pri nacitani workspace mi to spadne na radce workspc.cpp:1468: promenna 'ws' neni definovana
(jde o workspace, ktera jiz neni vnorena do dalsi workspace).
Zkusil jsem tam dat misto "ws->image_path" jen "image_path" a uz to funguje.
==========
[MH, 8.12.97]
Opraveno v is971208.zip
215 - new error
"gr_io.h" (a asi i jinde): "is_pch.h" se ma includovat na prvnim miste! A potom se uz nemusi includovat
<strdio.h> a <string.h>
216 - new message/question
kdo a kde pouziva cIOFilter::suffix? A kde presne se ma nastavovat? Ve formatu PNM se pripona
urcuje podle formatu souboru (PBM/PGM/PPM) - jak to mam udelat?
217 - obsolete message/question
je nejaky duvod, aby byly metody cIOFilter::load() a ::save() "pure virtual"? Co kdyz filtr nechce
nic ukladat ani cist?
218 - obsolete message/question
je nutne v I/O filtrech pouzivat "FILE *f"? Ja pouzivam svuj objekt BinaryFile, se kterym se pracuje
pohodlneji a FILE ma zapouzdreny v sobe.
==========
[MH, 8.12.97]
Neni to nutne. Jedina podminka je: kdyz uz filtr f
pouziva,
tak ho nesmi uzavrit, aniz by ho nastavil na NULL
219 - obsolete message/question
musi byt metoda "cFilter::load()" neprazdna? V prikladech a nasich implementacich se v teto metode
vzdycky precte i klicove slovo "ENDBLOCK". Ale u "cIOFilterPNG" jsem nasel prazdnou implementaci
(vracejici hned OK). Je to v poradku?
==========
[Kristik, 7.1.98]cFilter::load ted skutecne cte ENDBLOCK
220 - new message/question
imageio.cpp:187 - tady by stacilo "buf->putKey("FORMAT_SPEC");", nebo se v budoucnu pouzije
i ta hodnota?
221 - new error
v kucharce pro I/O filtry chybi poznamka, ze ve WSF souboru musi byt parametry filtru oddeleny
klicovym slovem "FORMAT_SPEC"
222 - obsolete error
program mi nechce precist workspace "jpetalon.wsf", ve kterem je filtr bez vstupu (cFEtalon).
Hlasi, ze nema spravne parametry pro filtr (jeste pred tim, nez se spusti moje metoda load())
Na radce filter.cpp:378
==========
[MH, 8.12.97]
Staci v konstruktoru nastavit is_input
na TRUE
==========
[JP, 8.12.97]
No, me to nestacilo. Nealokovala se mi bitmapa.
Takze jsem musel pridat neco jako "lockBitmap()" a "unlockBitmap()"
z cIOFilter.
223 - new error
cWorkspace::load() (radka 764): asi by tam melo byt "delete [] strpom;"
224 - obsolete error
workspc.cpp:1093: zase jedna magicka konstanta (100)
A proc se tam nevola procedura na duplikaci retezce (napr. safe_strdup())?
==========
[Kristik, 9.12.97]
Jediny duvod proc zde neni safe_strdup je, ze metoda je temer rok stara, safe.. asi mesic.
225 - new message/question
cFilter::loadFilter(): nekolik promennych pouzivate jako boolovske priznaky, ale mate
je deklarovane jako "int" a dosazujete do nich cisla. Nebylo by lepsi pouzit typ BOOL a konstanty
TRUE/FALSE? Mnohem lepe by se ty zdrojaky cetly (kdyz uz tam musim hledat chyby).
A co znamenaji ty promenne (is_input, is_output, binputim, bif_inp_image, boutputim, ..)?
226 - new message/question
cWorkspace::load: je tam spousta hlaseni (chvalim), ALE ten jazyk!!! Ja neumim dobre
anglicky, ale tohle mi trha usi (nebo oci :-)
227 - new error
JPEG v save je nekolikrat (pro kazdy format jednou :-) tento radek
PIX(image,0,cinfo->next_scanline-1)
. Je to vcelku dobre - az na tu
-1
...
228 - obsolete error
PNM v load se nenastavuje iformat
obrazku
==========
[JP, 8.12.97]
Ja uz jsem to prepsal do formy I/O filtru a tam volam setFormat().
Bude v pristim mem update.
229 - new message/question
existuje nejaka free knihovna pro vystupy na rastrove tiskarny? Ja bych nekde mel mit modul pro tisk
na HP laserovych tiskarnach (jazyk PCL) a Epson 9-24 pins (ESC). Jestli ovsem existuje nejaka univerzalni
knihovna, bylo by lepsi pouzit ji.
230 - obsolete error
v popisu k filtru MASKBOX se pise, ze parametry MINX, MINY, MAXX a MAXY urcuji souradnice rohu
obdelnika. Ale jak presne? Je to umysl, ze obdelnik ma vertikalne rozmer (MAXY-MINY+1) a horizontalne
(MAXX-MINX)?
231 - new message/question
do hlavnich programu dat interaktivni lupu (pohybuji se mysi a prekresluje se mi zvetseny obrazek).
Dalsi funkce lupy: zvetseni kontrastu na maximum v kreslenem okenku (treba i dynamicky - nejdriv to rychle
nakreslim beze zmeny kontrastu a po chvili to prepocitam)
232 - new error
proc se v cKernel::getFullPath() alokuje 64KB pameti na jeden string???
233 - new message/question
nekdo by mel napsat memory-manager pro jpeglib (pro velke kusy pameti by se mel volat nas mman)
234 - new error
cImageLoad by mel pocitat s konfiguracni promennou PATH (obrazek zadany pouze jmenem bez
adresare by se mel hledat vsude). Pro save() by tam ale porad melo zustat to puvodni (kratke)
jmeno, aby ulozeni workspace neznamenalo pripsani cest ke jmenum souboru..
Ja jsem si to docasne upravil v "cImageLoad::load():114":
file_name = kernel->getFullPath(item->Value);
Ale to je jenom patch - udelejte to lepe!
Ve vsech svych workspacech od ted budu pouzivat jen kratka jmena souboru.
235 - obsolete message/question
navrhuji zridit soubor "apichanges.txt", do ktereho se budou psat vsechny zmeny API,
ktere se mohou tykat vice lidi. Uz me nebavi neustale prochazet vsechny dokumentacni
soubory a hledat, jestli se tam neco nezmenilo. Take jsem zjistil, ze se na muj
popud udelalo par funkci (cXImage::isGray, cXImage::copyPalette, atd.), ale nikdo
ostatni to nepouziva.
==========
[MH, 15.12.97]
Pridano v is971215.zip.
236 - obsolete message/question
nemohla by rutina "cXImage::isGray()" testovat jen barvy, ktere jsou v obrazku skutecne pouzite?
(to zjisti pomoci usedColors()). A pokud je sice paleta seda, ale nejaka barva ma "alpha != 1.0",
tak by se melo vratit FALSE.
==========
[MH, 15.12.97]
Viz (237).
237 - obsolete error
"cXImage::isGray()" mela dve chyby (typecast na int16 a spatne telo cyklu). Napsal jsem ji
znova (a jeste pripominam - uz podruhe - ze metoda "cXImage::usedColors()" ma byt const!!!):
BOOL cXImage::isGray () const
{
if ( iformat != IF_PALETTED ) return( iformat == IF_GRAY16 );
uchar8 tab[256];
int used = usedColors(tab);
if ( used > palette_size ) return FALSE; // usedColors() failed
ASSERT( palette );
for ( int i = 0; i < used; ) {
const PaletteItem *ppal = palette + tab[i++];
if ( abs((int)ppal->R-(int)ppal->G) > MAX_DIF ||
abs((int)ppal->G-(int)ppal->B) > MAX_DIF ||
abs((int)ppal->R-(int)ppal->B) > MAX_DIF ||
ppal->A < 0xFF00 ) return FALSE;
}
return TRUE;
}
==========
[MH, 15.12.97]
Opraveno v is971215.zip.
238 - obsolete error
WSF soubor: nefunguje poznamka (uvozena znakem ";") uprostred definice filtru
==========
[Kristik, 15.12.97] Komentare se budou preskakovat k 971216
239 - obsolete error
cMask::clone() by mela byt const funkce!
==========
[MH, 15.12.97]
Opraveno v is971215.zip.
240 - current message/question
WIN32: nemely by se swapovaci soubory pro nas memory-manager ukladat jinam?
Bezna instalace Windows95 ma "tmp" adresar na stejnem disku jako systemovy swap-file a ten
ma dynamickou velikost. Nase odkladani tim ponekud ztraci smysl (mozna se to dokonce zhorsi,
protoze tim porusim heuristiku pro urcovani velikosti systemoveho swapu).
==========
[JB, 05.01.98] To je asi dobra myslenka, ale je to dotaz na mmanager, ne na win32. Navrhuji udelat promennou tmp_path a tu pridavat ke jmenu. Ja ji pak budu propagovat do nejakeho nastavovaciho dialogu, nebo ji nastavym podle sys. promenych.
241 - obsolete message/question
nemohly by se pri vybirani filtru z list-boxu vypisovat nejake strucne informace
o jednotlivych filtrech? Nevim, jestli presne pro to byla nadeklarovana polozka "name", ale
ja mam na mysli spis nekolikaradkovy odstavecek, kde by bylo strucne ale vystizne napsano,
co a jak filtr pocita (a prip. i jake muze mit vstupy a vystupy).
==========
[MH, 15.12.97]
V is971215.zip jsem pridal do cFilter
polozku char* description
242 - obsolete error
WIN_GUI: editace workspace - napisy pod filtry a obrazky jsou velmi male (ale po chvili
prace s workspacem se zvetsi na standardni systemovy font)
243 - obsolete error
WIN_GUI: informacni dialogy k filtrum a obrazkum - nevypadaji pekne a je tam hrozna
anglictina: "name of filter" => "filter name", "width of image" => "image width", atd.
Co znamena "is add"?? Dejte tam "is connected to" nebo neco podobneho.
==========
[JB, 19.02.98]
Bylo opraveno.
244 - obsolete error
WIN_GUI: prikaz save (workspace) mi uplne znici wsf soubor (ale nenapise zednou chybovou
hlasku) - .wsf pak ma nulovou delku!
==========
JB, 05.01.98] Uz je opraveno v PC980105. Jen bylo nutne pridal funkce getFilename a getName do workspace, tak doufam,ze se to objevi v distribuci.
245 - obsolete error
WIN_GUI: pri nahravani workspace - co znamena hlaska "vstup retezec" (input a string)?
A k cemu je ten retezec dobry?
==========
JB, 05.01.98] Jde o parametry pro workspace, napriklad jmena obrazku, ktera nejsou implicitne ve wsf a nejde o IOFiltry.
246 - obsolete error
WIN_GUI: kdyz jsem dal "View" na dosud nespocitany image, uplne mi to zrusilo Windows.
==========
[JB, 19.02.98]
Bylo opraveno.
247 - new error
WIN_GUI: kdyz nahraji do pameti pouze obrazek, prida se mi do prazdneho workspace.
Kdyz potom na nej udelam "delete", spadne cely program.
248 - obsolete error
WIN_GUI: kdyz posunuji mysi informacni dialog, odkryte casti se neprekresluji!
==========
[JB, 04.03.98]
Opraveno.
249 - obsolete error
WIN_GUI: nefunguje dobre prekreslovani obrazku pri zvetsovani (asi delate spatne
"Invalidate"). Ani pri rolovani se to dobre neprekresluje!
==========
[JB, 04.03.98]
Cele zobrazovani bylo predelano
250 - new error
WIN_GUI: hlavicka okenka s default workspace - ma tam byt "WorkSpace" (bez toho
maleho "s" uprostred)
251 - obsolete error
WIN_GUI: dialog filtru "MASKBOX" jsem zavrel pomoci zaviraci ikony. Oznamilo se mi
"CHYBA" a pak cely program spadnul.
==========
[JB, 16.12.97]
To bude vyreseno v nasledujici verzi bude odpovidat tlacitku CANCEL. Zatim
vraci hodnotu 3 ne 2 v konstatnach, ktere si nepamatuju.
252 - new error
WIN_GUI: "input filter" se nechova rozumne - musi nabizet jako default jmeno
souboru nactene z WSF!
253 - obsolete error
WIN_GUI: "Open" dialog box - mel by implicitne nabizet soubory typu "wsf". Bud tam dejte
vsechny pripony obrazku nebo zadne (proc je tam jen PCX?)
==========
JB, 05.01.98] Uz jsem to opravil. Prvni se nabizi wsf.
254 - new error
WIN_GUI: zmenseni true-color obrazku v hi-color grafickem rezimu vypada mizerne (do
modre barvy se primicha fialova, atd.). To zmensovani si asi budete muset delat sam!
255 - obsolete error
WIN_GUI: proc je zmenseni obrazku omezeno na 2:1? A proc se to pritom na te dvojce
nezastavi? Kdyz pak vracim obrazek do puvodniho meritka, tak musim nekolikrat mackat "zoom in"
bez jakehokoli efektu na obrazovce.
==========
[JB, 16.12.97]
Bude vyreseno s novym zobrazovanim.
256 - new message/question
WIN_GUI: co je prikaz "Fx" (button na tool-baru)?
257 - obsolete message/question
WIN_GUI: editovani workspace - nelibi se mi terminologie. Oznacene casti nazyvate "checked".
To se nekde pouziva? Proc to nenazvat "selected"?
==========
[JB, 04.03.98]
Bylo opraveno.
258 - obsolete error
WIN_GUI: dialog "Insert filter" - proc vypada tak skarede? (mate tady spolecny kod s
X-Windows, ze pouzivate nas dialog-interface? A i kdyby - nase dialogy by mely vypadat lepe. Je tam
spousta zbytecnych mezer, atd.)
Co znamena napis "Form all output images"?? Nenapsal byste to radsi anglicky?
==========
[JB, 04.03.98]
Nove dialogy budou v nasledujicim baliku.
259 - obsolete error
WIN_GUI: "Insert image" - zadam GIF soubor, ale on ho nenahraje a porad mi opakuje ten
dialog.
==========
[JB, 04.03.98]
Uz funguje.
260 - new error
WIN_GUI: sedy obrazek (sarah.pgm) se zobrazuje se spatnymi barvami a navic vzhuru
nohama (pardon - otoceny o 180 stupnu).
261 - obsolete message/question
WIN_GUI: CImsWksView - proc je tam vsude "GetDocument()->GetGraf()->..."?
==========
[JB, 04.03.98]
Opraveno
262 - obsolete error
WIN_GUI: editace workspace - pri "drag and drop" filtru nebo obrazku si nepamatuje
pozici uchopeni mysi (vzdycky se to posune na stred).
263 - new message/question
proc ma konstruktor "dialog::dialog()" parametr "gravity", kdyz se (podle kucharky)
do nej stejne jeste musi vlozit frame jako kontejner pro vsechny prvky? Ted uz jsem to pochopil
- napiste to trochu jinak (aby clovek pro pochopeni nekterych veci nemusel cist cely navod - az
v bodu 8. je receno, ze tech ramecku tam muze byt vice..)
264 - obsolete error
v kucharce na dialogy se pise, ze filtr na konci metody "run()" musi uvolnit alokovany objekt
typu dialog. Filtr "cFRotate" (a mozna i jine) to ale nedela! Budu se drzet kucharky.
==========
[David Cernoch, 4.2.98]
nejen cFRotate
... Od dc980105 je to opravene.
265 - current message/question
"dialog::AddItem(STEXT,..)" - je skutecne nutne zadavat posledni parametr (command)?
To plati i pro jine prvky!
==========
[HB, 28.01.98]
Ten posledni parametr jsme dohodli s D. Kristkem. Je povinny pro vsechny prvky krome tlacitek.
Jsem ochoten to predelat, ale WinGUI ho pry potrebuje, takze se to musi sjednotit.
266 - obsolete error
INPUT_LINE - jake je spravne poradi parametru pro AddItem()? Kucharka se lisi od headeru!
Asi bude mit pravdu kucharka (alespon tak to dela WIN_GUI).
267 - new error
WIN_GUI - INPUT_LINE: okenko se kresli prilis male. Zadam, ze chci videt 3 znaky
retezce a on mi ukaze tak 1.2 znaku.
268 - obsolete error
WIN_GUI - ramecek RAISED se kresli zatlaceny dovnitr misto toho, aby byl
vyzdvizeny ven!
269 - new message/question
WIN_GUI - podivejte se na dialog u filtru PAINTER. Libi se vam rozmisteni prvku?
Proc je levy ramecek tak vysoky (prava cast dialogu to take nepotrebuje)?
Proc staticky text napsany do ramecku prekresli cast toho ramecku?
270 - new message/question
GUI obecne: proc funkce AddFrame() nema take parametr "align" (jako AddItem)?
Mohl bych si tim napr. rici, ze v nejakem sloupecku chci prvni dva ramecky mit nahore a
posledni ramecek (obsahujici napr. tlacitka Ok a Cancel) zase uplne nahore! WIN_GUI mi da
prvni nahoru, druhy doprostred a treti dolu (a jeste se musim postarat, aby v tom tretim
ramecku byla tlacitka zatlacena dolu..).
Musi se ramecky vzdycky roztahovat na max. velikost? Nebylo by lepsi definovat, ze ramecek
zabira tolik mista, kolik potrebuji jeho vlozene prvky?
271 - obsolete error
WIN_GUI - AL_DOWN a AL_UP nefunguji podle meho vkusu: chci jen zaridit, aby
dve dvojice (STEXT, INPUT_LINE) byly tesne pod sebou a pritom jejich prvky aby lezely pekne
vedle sebe. Jak to mam udelat?
==========
[JB, 19.02.98]
Bylo opraveno.
272 - new message/question
cFilter - jak jsem pochopil, novy clen "description" je zcela v rezii filtru (pokud
je na heapu, musi si ho clovek sam uvolnit). Souhlasim - je nejaky duvod, proc by se takhle
nemohly chovat i "name" a "id"? Misto alokace malych kousku pameti na heapu by si kazdy ty
stringy udelal globalni staticke (= sdilene!).
273 - new error
WIN_GUI - nefunguje mi dialog v "cFDistance::run()". Nez jsem tam pridal posledni 4 ramecky
(v kazdem z nich je jeden STEXT a jedna INPUT_LINE), tak to chodilo (viz jp971217). Nesmi se spolu
michat ramecky a prvky? (ja tam mam STEXT a pak 4 ramecky)
274 - new message/question
hodil by se mi dalsi typ borderu: BT_CYCLIC - okopiruje se do nej opacny konec obrazku
(jako kdyby se ten obrazek cyklicky opakoval - a la tapeta)
275 - obsolete message/question
276 - obsolete error
Neda se odpovidat na zpravy s cislem vetsim nez 255 (pro #274 to hlasi: message
#18 not found) ... takze tam asi neco preteka ...
==========
[JP, 7.1.98]
Uz je to opraveno.
277 - obsolete error
WIN_GUI: pod dialogem se stale neprekresluje okno s workspace, pokud celou aplikaci
prekryji nejakym jinym oknem a pak zase odkryji, neprekresli se nase okno.
==========
[JB, 19.02.98]
Bylo opraveno.
278 - obsolete error
WIN_GUI workspace: kdyz kliknu na obrazek, ktery dosud nebyl spocitan (ma jmeno "none"),
nezavola se jeho vypocet a cely program spadne uvnitr "Prep_BMP()"
==========
[JB, 19.02.98]
Je opraveno.
279 - new message/question
CImsApp::Add_Image(): co ma znamenat
if (new_doc==NULL) return FALSE; else return TRUE;
return 0;
280 - current error
WIN_GUI: zoom-out porad nefunguje spravne
==========
[JB, 19.02.98]
Uz je to lepsi, ale jeste na tom budu pracovat.
281 - obsolete error
filtr AVG: dialog ma spatne umistovaci konstanty v hornim framu.
==========
[David Cernoch, 4.2.98]
Opraveno v dc980126.
282 - obsolete error
WIN_GUI: vlozim-li do workspace filtr pomoci tlacitka v tool-baru, zlobi to (souradnice)
==========
[JB, 19.02.98]
Bylo opraveno.
283 - obsolete error
WIN_GUI dialog: pri pridavani prvku (STEXT i INPUT_LINE) nefunguje kombinace "AL_LEFT | AL_VCENTER".
Samotne "AL_LEFT" funguje (viz SEPARATE_RGBA z is980108)
==========
[JB, 19.02.98]
Bylo opraveno.
284 - obsolete error
WIN_GUI dialog: podivnym zpusobem se posunuje dialogove okno, jestlize se klikne na jeho
okraj, pak mimo a nakonec opakovane na okraj (a tak podobne).
==========
[JB, 19.02.98]
Bylo opraveno.
285 - new error
GUI dialogy: proc stale nejsou jednotne hlavicky?? Tak by se nemohlo stat, ze "AddFrame()" ma
jinou hlavicku v WIN32 a XWIN.
286 - obsolete error
WIN_GUI dialog: vsechny napisy (STEXT,RADIO_B,hlavicka framu) se vypisuji v trochu mensim
prostoru, nez skutecne potrebuji (popisky radiovych tlacitek jsou na konci oriznute, atd.).
Viz snimky obrazovky v "errors/w32layout980108.zip".
A jinak, libi se vam ty dialogy?
==========
[JB, 19.02.98]
Bude opraveno do pristi verze.
287 - obsolete error
WIN_GUI workspace: kdyz z workspace smazu posledni prvek, zustane v lokalnim menu
povolena polozka "Spoj" (mimochodem, proc jsou nektere prikazy cesky a nektere anglicky??)
==========
[JB, 19.02.98]
Bylo opraveno.
288 - obsolete error
WIN_GUI: kdyz zadam prikaz "Insert image", porad mi opakuje dialog pro zadani souboru,
ale zadne okno nevytvori..
==========
[JB, 19.02.98]
Bylo opraveno.
289 - current message/question
WIN_GUI: casem by se mely menu a toolbar upravit tak, aby odpovidaly funkcim naseho
programu (co je Cut, Paste, ..; napoveda k Save, ..), doplnit oblackovou napovedu, ...
==========
[JB, 19.02.98]
Bude opraveno. Nepovazoval jsem to zatim za prilis dulezite.
290 - new message/question
PCX - load nefunguje pro lichou sirku obrazku (obrazek dodam)
291 - new error
GIF v gif87.h
se redefinuje NULL
!!! PORAD!!!
292 - new error
XBM, XPM index
a rindex
koliduje s X-ovymi
promennymi. A MAX_LINE
koliduje mezi dvema vasemi
headery!!!
293 - new message/question
k promenne is_Abort
-- melo by se jasne rici, co ma filtr vratit
kdyz je jeho update zrusen -- neco jako ERR_USERABORT
. Az se
domluvime dam to do
kucharky.
294 - new error
WinGUI stale pada pri pridavani filtru ... (o tom ze pri otvirani workspace se nestane vubec nic ani nemluvim :((((( )
dialog::Dosad_List_of_Values(HWND__ * 0x000009e0) line 44 + 3 bytes
dialog::Run(char * 0x00000000) line 3413
cMyGraf::InsertItem(TYPE FILTR, tagPOINT {x=39 y=64}, int 0) line 154 + 13 byte
CImsWksView::OnGrafPridejFiltr() line 128 + 23 bytes
DispatchCmdMsg(CCmdTarget * 0x00fab810 {CImsWksView hWnd=0x000402e0}, unsigned
CCmdTarget::OnCmdMsg(unsigned int 32777, int 0, void * 0x00000000, AFX_CMDHANDL
CView::OnCmdMsg(unsigned int 32777, int 0, void * 0x00000000, AFX_CMDHANDLERINF
CWnd::OnCommand(unsigned int 32777, long 0) line 2107 + 23 bytes
CWnd::OnWndMsg(unsigned int 273, unsigned int 32777, long 0, long * 0x0012fd74)
CWnd::WindowProc(unsigned int 273, unsigned int 32777, long 0) line 1617 + 30 b
AfxCallWndProc(CWnd * 0x00fab810 {CImsWksView hWnd=0x000402e0}, HWND__ * 0x0004
AfxWndProc(HWND__ * 0x000402e0, unsigned int 273, unsigned int 32777, long 0) l
AfxWndProcBase(HWND__ * 0x000402e0, unsigned int 273, unsigned int 32777, long
DispatchMessageWorker@8 + 135 bytes
DispatchMessageA@4 + 11 bytes
CWinThread::PumpMessage() line 750
CWinThread::Run() line 434 + 11 bytes
CWinApp::Run() line 603 + 8 bytes
AfxWinMain(HINSTANCE__ * 0x00400000, HINSTANCE__ * 0x00000000, char * 0x00140e5
WinMain(HINSTANCE__ * 0x00400000, HINSTANCE__ * 0x00000000, char * 0x00140e50,
WinMainCRTStartup() line 330 + 57 bytes
BaseProcessStart@4 + 64 bytes
Zoltyho filtry definuji na nekolika mistech
295 - new error
bspline filtr pada na DVOJITE uvolneni JEDNOHO pointeru. bspline.cpp:632
296 - new error
SL_WARNING1
a SL_INTERP_NO
. Pere se to navzajem...
297 - current error
nefunguje wait( NF_DONE)
. Musi se wait( NF_DONE - 1)
.
PROC????
298 - new error
IFFT dojede na 50%, chvili se tvari, ze neco dela a spadne...
299 - obsolete error
filter-HOWTO.html, define.h: chybi dokumentace noveho typu okraje (BT_CYCLIC)
==========
[David Cernoch, 22.3.98]
Je. Alespon v pozdejsich distribucich...
300 - new error
CONVERT: max. pocet barev by mel byt 256?
301 - obsolete error
EDGE_DETECT: nemel by byt v kategorii "edge operators"?
==========
[David Cernoch, 22.3.98]
Je. Alespon v pozdejsich distribucich....
302 - current message/question
Kategorie filtru: chtelo by to dalsi kategorie - pro morfologicke operatory
(dilatace=max, eroze=min), matematicke filtry (DISTANCE, DIFFERENCE, jine algebraicke
operace provadene pixel po pixelu, ..), transformace obrazu (ortogonalni transformace,
Haughova transformace, atd..)
==========
[David Cernoch, 22.3.98]
Navrhoval bych jeste kategorii TEST - pro filtry
DISPLAY/SET_BOUNDS...
303 - new error
Win32: dialog.h: preklada-li se pod Win32, "Bool" se pouziva jeste pred svoji definici
304 - new message/question
Co s DOC++ headery? .. vygenerovat z nich dokumentaci a dat to do prilohy progr. dokumentace?
305 - new error
WIN_GUI: otevreni obrazku (GIF) - program si mysli, ze je to workspace
306 - new error
WIN_GUI: po vytvoreni noveho workspace a vlozeni filtru se projevilo, ze default font ma velikost
25444 pt!
307 - new error
WIN_GUI, filtr "Dilate" - po vlozeni filtru s implicitnim vystupnim obrazkem (ale beze vstupu)
a po double-clicku na vystupni obrazek to spadne na assert ve "wincore.cpp:632"
308 - new error
WIN_GUI: New workspace, New window, close icon ... bum!
309 - new error
WIN_GUI: co dela na disku soubor "Font"?? Proc to neni v konfiguracnim souboru?
310 - new error
colorfilt.cpp:541: Visual C nechce prelozit (inicializace promenne 'y' se neprovede
ve vsech vetvich vypoctu)
311 - new error
alphfilt.cpp:457: redefinice promenne 'i'
312 - new message/question
Filtry: pri testovani na abort a navratu z procedury "update()" se musi
regulerne zavolat "uncheckBitmap()"?
Mnohe filtry (napr. MATRIX) to nedelaji.
313 - new error
WIN_GUI: nefunguje rolovani obrazku i zvetsovani velikosti okna s obrazkem a scrollbary
314 - new error
WIN_GUI: arrange grafu obsahujiciho 2 nezavisle komponenty nefunguje (nakresli se to
pres sebe)
315 - new error
WIN_GUI: minimalizovane okno s obrazkem se po update (prepocitani filtru) a opetnem
otevreni kresli spatne (bitmapa se umisti na spatne souradnice na obrazovce)
316 - new error
UNDO/REDO ve WIN_GUI: po nekolika elementarnich operacich editovani workspace
to pada uvnitr undo/redo rutiny (ale undo-depth je nastavena na 0).
Insert filter, insert existing image, compute output image, delete input image, bum!
Insert filter, double-click na output image, bum!
Reply form
Please do not forget to write your name (nickname) and the current date:
Generated automatically by list.cgi (version: 9.12.1997),
send comments to: Josef Pelikán