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/ _______________________________________________ pld-devel-pl mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl
