if (lang == NULL) { lang = g_getenv("LANG"); if (lang) { if ((g_strcmp0(lang, "C") == 0) || (g_strcmp0(lang, "c") == 0)) lang = NULL; else if (lang[0] == 0) lang = NULL; } }
Bohužel dodnes nebyla oprava zanesena do aktualizačních balíčků knihovny GtkSpell v distribuci Fedora 10 (Cambridge). Nejspíš si budeme muset počkat do vydání nové distribuce Fedora 11 (Leonidas), která naštěstí vyjde za necelých 14 dnů - 26.5.2009.
Na konci minulého článku, který popisoval tuto chybu, jsem navrhl dočasné nouzové řešení. To spočívalo v přímém zásahu do binárního kódu knihovny. Místo opravy jsem určil trochu nešťastně hexadecimální adresou, která však byla platná pouze pro verzi knihovny k příslušnému datu. Od té doby došlo k aktualizaci knihovny a tím pádem i ke změně adresy. Navíc adresa byla platná pouze pro balíčky distribuce Fedora. Ve vláknu "Nefunguje kontrola pravopisu v Pidgin, Tomboy" fóra k distribuci Ubuntu bylo místo opravy specifikováno precizněji a to slovy: musí to být řetězec "C" a musí mu bezprostředně předcházet řetězec "LANG".
Je vidět, že chybou nebyla postižena jenom distribuce Fedora, ale i Ubuntu a všechny ostatní, které používají knihovnu GtkSpell.
Trochu mne v této souvislosti zaráží doba potřebná pro opravu této malé chyby. Já sám jsem chybu ohlásil e-mailem jednomu z autorů této knihovny dne 29.11.2008. Asi to nebylo to nejsprávnější řešení, protože e-mail nejspíš někde zapadl. Dne 15.12.2008 však byla tato chyba zahrnuta mezi bugy uživatelem "blondak" včetně patche pro její opravu a až dne 18.2.2009 došlo k aplikaci patche. Nicméně dodnes se tato oprava neobjevila mezi aktualizacemi v příslušných distribucích.
Žádné komentáře:
Okomentovat