WindowMaker (było Re: Prośba do RM)

Jakub Bogusz qboosh w pld-linux.org
Śro, 12 Sty 2005, 17:10:41 CET


On Wed, Jan 12, 2005 at 04:32:47PM +0100, Jakub Bogusz wrote:
> On Wed, Jan 12, 2005 at 02:45:21PM +0100, Roman Werpachowski wrote:
> > On Wed, 12 Jan 2005, havner wrote:
> > >On Tue, Jan 11, 2005 at 04:23:45PM +0100, Andrzej Krzysztofowicz wrote:
> > >>Roman Werpachowski wrote:
> > >>>Dobrze. Mo=BFesz mi powiedzie=E6, jak przywr=F3ci=E6 r=F3wnie=BF patche 
> > >>>itp=
> > >>>=2E do
> > >>>wersji 0.81?
> > >>
> > >>Posluzyc sie istniejacymi tagami wersji ?
> > >>Ale nie spiesz sie z tym przywracaniem; taka decyzja nie powinna byc
> > >>pochopna.
> > >
> > >Ja sie nie zgadzam na to. Trzeba to zdebuggowac i poprawic.
> > 
> > To ja proszę o pomoc, bo sam nie dam rady. Zatrzymałem się na tym, że w
> > trakcie wyświetlania okienka, funkcja updateIconImage (src/wmspec.c:374)
> > wywołuje funkcję RCreateImage (wrlib/raster.c:51) z nieprawidłowymi
> > argumentami (zerowy parametr height). Wydaje się, że funkcja z Xlib
> > (XGetWindowProperty) przekazuje takie dziwne dane, albo to problem z
> > rozmiarami typów, skoro pojawia się tylko na amd64. Ale przecież int i
> > char są takie same w 32bit i 64bit...
> 
>         unsigned int *data = (unsigned int *)prop_return;
> 
> Spróbuj to zmienić na "unsigned long"...
> Wygląda na to, że dane typu "32" w Xlibie to long, a nie int, więc na
> arch. 64-bitowych to są 64 bity (manual niestety w ogóle nie mówi o arch.
> 64-bitowych, zakłada, że long ma 32 bity).
> 
> Jeszcze rzutowanie char* na unsigned int* może być podejrzane - można
> spróbować kompilować WM z -fno-strict-aliasing (jeśli ta pierwsza zmiana
> nie pomoże).

Może tak:
http://cvs.windowmaker.org/diff.php/wm/src/wmspec.c?login=2&ws=0&r1=1.11&r2=1.12&ty=u

a może jednak to + s/CARD32/unsigned long/g


-- 
Jakub Bogusz    http://cyber.cs.net.pl/~qboosh/




Więcej informacji o liście dyskusyjnej pld-devel-pl