浏览代码

added xdata parameter to delegate->optional_clases

foobit 5 年之前
父节点
当前提交
93775b42ab
共有 2 个文件被更改,包括 2 次插入2 次删除
  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)
     if (parser->delegate && parser->delegate->optional_classes) {
-        list = parser->delegate->optional_classes();
+        list = parser->delegate->optional_classes(parser->delegate->xdata);
         i = 0;
         while (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_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_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_setvalue) (gravity_vm *vm, void *xdata, gravity_value_t target, const char *key, gravity_value_t value);