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

Jakub Bogusz qboosh w pld-linux.org
Śro, 12 Sty 2005, 16:32:47 CET


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).


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




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