Browse Source

added xdata parameter to delegate->optional_clases

foobit 5 years ago
parent
commit
93775b42ab
2 changed files with 2 additions and 2 deletions
  1. 1 1
      src/compiler/gravity_parser.c
  2. 1 1
      src/shared/gravity_delegate.h

+ 1 - 1
src/compiler/gravity_parser.c

@@ -2547,7 +2547,7 @@ static void parser_register_optional_classes (gravity_parser_t *parser) {
 
 
     // check if optional classes callback is registered (runtime optional classes)
     // check if optional classes callback is registered (runtime optional classes)
     if (parser->delegate && parser->delegate->optional_classes) {
     if (parser->delegate && parser->delegate->optional_classes) {
-        list = parser->delegate->optional_classes();
+        list = parser->delegate->optional_classes(parser->delegate->xdata);
         i = 0;
         i = 0;
         while (list[i]) {
         while (list[i]) {
             const char *identifier = list[i];
             const char *identifier = list[i];

+ 1 - 1
src/shared/gravity_delegate.h

@@ -40,7 +40,7 @@ typedef void                (*gravity_type_callback) (void *token, const char *t
 typedef const char*         (*gravity_precode_callback) (void *xdata);
 typedef const char*         (*gravity_precode_callback) (void *xdata);
 typedef const char*			(*gravity_loadfile_callback) (const char *file, size_t *size, uint32_t *fileid, void *xdata, bool *is_static);
 typedef const char*			(*gravity_loadfile_callback) (const char *file, size_t *size, uint32_t *fileid, void *xdata, bool *is_static);
 typedef const char*         (*gravity_filename_callback) (uint32_t fileid, void *xdata);
 typedef const char*         (*gravity_filename_callback) (uint32_t fileid, void *xdata);
-typedef const char**        (*gravity_optclass_callback) (void);
+typedef const char**        (*gravity_optclass_callback) (void *xdata);
 
 
 typedef bool                (*gravity_bridge_initinstance) (gravity_vm *vm, void *xdata, gravity_value_t ctx, gravity_instance_t *instance, gravity_value_t args[], int16_t nargs);
 typedef bool                (*gravity_bridge_initinstance) (gravity_vm *vm, void *xdata, gravity_value_t ctx, gravity_instance_t *instance, gravity_value_t args[], int16_t nargs);
 typedef bool                (*gravity_bridge_setvalue) (gravity_vm *vm, void *xdata, gravity_value_t target, const char *key, gravity_value_t value);
 typedef bool                (*gravity_bridge_setvalue) (gravity_vm *vm, void *xdata, gravity_value_t target, const char *key, gravity_value_t value);