[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#751629: xserver-xorg-video-vmware: Conflicting declarations of function MakeAtom to cause undefined behaviour



On 2024-08-04 07:32, Petter Reinholdtsen wrote:
> [Michael Tautschnig 2014-06-14]
>> The actual cause of the problem remains to be determined as both declarations
>> stem from the same source, yet expand in different ways.
> 
> I tried to make sense of this, but failed.  This is the declaration in
> the current edition of /usr/include/xorg/dix.h:
> 
>   extern _X_EXPORT Atom MakeAtom(const char * /*string */ ,
>                                  unsigned /*len */ ,
>                                  Bool /*makeit */ );
> 
> I fail to figure out how the Atom type can become unsigned int in one
> incarnation and unsigned long int in another.  Perhaps the problem
> went away the last ten years?

The definition of Atom depends on _XSERVER64, which is defined by xorg-server.h or dix-config.h. The driver must include one of those headers before the header which defines Atom to ensure it gets the correct definition.


-- 
Earthling Michel Dänzer            |                  https://redhat.com
Libre software enthusiast          |         Mesa and Xwayland developer


Reply to: