haiku/headers/private/binary_compatibility/Global.h
Oliver Tappe 39fbf5509b bonefish + zooey:
* Fixed a general problem with respect to overriding of the reserved
  virtual function slots: instead of statically invoking the method
  that corresponds to the reserved slot on the class that contains the
  slot, we now invoke the virtual Perform() method. Perform() then dispatches 
  the method invocation to the "proper" class, i.e. the highest class in the 
  hierarchy that  actually implements the requested method.
  This fixes a crash in apps that use liblayout's MSlider class and
  should fix one or other spurious bug with old apps or libraries, too.
* added new header folder 'binary_compatibility' that contains files that
  define the method codes and data structures required by Perform()
* looked for and implemented all used reserved virtual slot functions to
  invoke Perform() where necessary or to pass on the method call statically
  (for slots that were already maintained by Be)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28124 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-15 09:29:06 +00:00

30 lines
716 B
C

/*
* Copyright 2008, Oliver Tappe, zooey@hirschkaefer.de.
* Copyright 2008, Ingo Weinhold, ingo_weinhold@gmx.de.
* Distributed under the terms of the MIT License.
*/
#ifndef _BINARY_COMPATIBILITY_GLOBAL_H_
#define _BINARY_COMPATIBILITY__GLOBAL_H_
// method codes
enum {
// app kit
// interface kit
PERFORM_CODE_MIN_SIZE = 1000,
PERFORM_CODE_MAX_SIZE = 1001,
PERFORM_CODE_PREFERRED_SIZE = 1002,
PERFORM_CODE_LAYOUT_ALIGNMENT = 1003,
PERFORM_CODE_HAS_HEIGHT_FOR_WIDTH = 1004,
PERFORM_CODE_GET_HEIGHT_FOR_WIDTH = 1005,
PERFORM_CODE_SET_LAYOUT = 1006,
PERFORM_CODE_INVALIDATE_LAYOUT = 1007,
PERFORM_CODE_DO_LAYOUT = 1008
// support kit
};
#endif // _BINARY_COMPATIBILITY__GLOBAL_H_