Skip to content

Commit 697574d

Browse files
committed
c: changed loading api.
1 parent b4fbb10 commit 697574d

File tree

82 files changed

+308
-209
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+308
-209
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ int main() {
2020
GLFWwindow* window = glfwCreateWindow(WIDTH, HEIGHT, "LearnOpenGL", NULL, NULL);
2121
glfwMakeContextCurrent(window);
2222

23-
int version = gladLoadGLSimple(glfwGetProcAddress);
23+
int version = gladLoadGL(glfwGetProcAddress);
2424
if (version == 0) {
2525
printf("Failed to initialize OpenGL context\n");
2626
return -1;

example/c++/hellowindow2.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ int main()
4848
glfwSetKeyCallback(window, key_callback);
4949

5050
// Load OpenGL functions, gladLoadGL returns the loaded version, 0 on error.
51-
int version = gladLoadGLSimple(glfwGetProcAddress);
51+
int version = gladLoadGL(glfwGetProcAddress);
5252
if (version == 0)
5353
{
5454
std::cout << "Failed to initialize OpenGL context" << std::endl;
@@ -84,7 +84,6 @@ int main()
8484
// Is called whenever a key is pressed/released via GLFW
8585
void key_callback(GLFWwindow* window, int key, int scancode, int action, int mode)
8686
{
87-
std::cout << key << std::endl;
8887
if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS)
8988
glfwSetWindowShouldClose(window, GL_TRUE);
9089
}

example/c++/hellowindow2_macro.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -66,15 +66,15 @@ int main()
6666
#ifdef GLAD_OPTION_GL_MX
6767
GladGLContext context;
6868
#ifdef GLAD_OPTION_GL_LOADER
69-
int version = gladLoadGLInternalLoaderContext(&context);
69+
int version = gladLoaderLoadGLContext(&context);
7070
#else
71-
int version = gladLoadGLSimpleContext(&context, glfwGetProcAddress);
71+
int version = gladLoadGLContext(&context, glfwGetProcAddress);
7272
#endif
7373
#else
7474
#ifdef GLAD_OPTION_GL_LOADER
75-
int version = gladLoadGLInternalLoader();
75+
int version = gladLoaderLoadGL();
7676
#else
77-
int version = gladLoadGLSimple(glfwGetProcAddress);
77+
int version = gladLoadGL(glfwGetProcAddress);
7878
#endif
7979
#endif
8080

@@ -125,7 +125,6 @@ int main()
125125
// Is called whenever a key is pressed/released via GLFW
126126
void key_callback(GLFWwindow* window, int key, int scancode, int action, int mode)
127127
{
128-
std::cout << key << std::endl;
129128
if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS)
130129
glfwSetWindowShouldClose(window, GL_TRUE);
131130
}

example/c++/hellowindow2_mx.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ int main()
4949
glfwSetKeyCallback(window, key_callback);
5050

5151
GladGLContext context;
52-
int version = gladLoadGLSimple(&context, glfwGetProcAddress);
52+
int version = gladLoadGLContext(&context, glfwGetProcAddress);
5353
if (version == 0)
5454
{
5555
std::cout << "Failed to initialize OpenGL context" << std::endl;
@@ -87,7 +87,6 @@ void draw(GLFWwindow *window, GladGLContext *gl) {
8787
// Is called whenever a key is pressed/released via GLFW
8888
void key_callback(GLFWwindow* window, int key, int scancode, int action, int mode)
8989
{
90-
std::cout << key << std::endl;
9190
if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS)
9291
glfwSetWindowShouldClose(window, GL_TRUE);
9392
}

example/c++/multiwin_mx.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ GladGLContext* create_context(GLFWwindow *window) {
8181
GladGLContext* context = (GladGLContext*) malloc(sizeof(GladGLContext));
8282
if (!context) return NULL;
8383

84-
int version = gladLoadGLSimpleContext(context, glfwGetProcAddress);
84+
int version = gladLoadGLContext(context, glfwGetProcAddress);
8585
std::cout << "Loaded OpenGL " << GLAD_VERSION_MAJOR(version) << "." << GLAD_VERSION_MINOR(version) << std::endl;
8686

8787
return context;
@@ -104,7 +104,6 @@ void draw(GLFWwindow *window, GladGLContext *gl, float r, float g, float b) {
104104
// Is called whenever a key is pressed/released via GLFW
105105
void key_callback(GLFWwindow* window, int key, int scancode, int action, int mode)
106106
{
107-
std::cout << key << std::endl;
108107
if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS)
109108
glfwSetWindowShouldClose(window, GL_TRUE);
110109
}

example/c/egl_glfw.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ void key_callback(GLFWwindow* window, int key, int scancode, int action, int mod
1717
glfwSetWindowShouldClose(window, GL_TRUE);
1818
}
1919

20-
int main(int argc, char ** argv) {
20+
int main(void) {
2121
/* Set up GLFW */
2222
glfwInit();
2323

@@ -32,11 +32,11 @@ int main(int argc, char ** argv) {
3232

3333
/* Load EGL */
3434
EGLDisplay display = glfwGetEGLDisplay();
35-
int egl_version = gladLoadEGLInternalLoader(display);
36-
printf("EGL %d.%d\n", GLAD_VERSION_MAJOR(egl_version) GLAD_VERSION_MINOR(egl_version));
35+
int egl_version = gladLoaderLoadEGL(display);
36+
printf("EGL %d.%d\n", GLAD_VERSION_MAJOR(egl_version), GLAD_VERSION_MINOR(egl_version));
3737

3838
/* Load GLES */
39-
int gles_version = gladLoadGLES1Simple(glfwGetProcAddress);
39+
int gles_version = gladLoadGLES1(glfwGetProcAddress);
4040
printf("GLES %d.%d\n", GLAD_VERSION_MAJOR(gles_version), GLAD_VERSION_MINOR(gles_version));
4141

4242
/* Main Loop */

example/c/egl_x11.c

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,6 @@ int main(void) {
3333
attributes.colormap = colormap;
3434
attributes.event_mask = ExposureMask | KeyPressMask | KeyReleaseMask;
3535

36-
int depth = DefaultDepth(display, screen);
37-
3836
Window window =
3937
XCreateWindow(display, root, 0, 0, window_width, window_height, 0,
4038
DefaultDepth(display, screen), InputOutput, visual,
@@ -50,7 +48,7 @@ int main(void) {
5048
return 1;
5149
}
5250

53-
int egl_version = gladLoadEGLInternalLoader(NULL);
51+
int egl_version = gladLoaderLoadEGL(NULL);
5452
if (!egl_version) {
5553
printf("Unable to load EGL.\n");
5654
return 1;
@@ -69,7 +67,7 @@ int main(void) {
6967
return 1;
7068
}
7169

72-
egl_version = gladLoadEGLInternalLoader(egl_display);
70+
egl_version = gladLoaderLoadEGL(egl_display);
7371
if (!egl_version) {
7472
printf("Unable to reload EGL.\n");
7573
return 1;
@@ -119,7 +117,7 @@ int main(void) {
119117
// activate context before loading GL functions using glad
120118
eglMakeCurrent(egl_display, egl_surface, egl_surface, egl_context);
121119

122-
int gles_version = gladLoadGLES2InternalLoader();
120+
int gles_version = gladLoaderLoadGLES2();
123121
if (!gles_version) {
124122
printf("Unable to load GLES.\n");
125123
return 1;

example/c/simple.c renamed to example/c/glut.c

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,16 @@ static void reshape(int w, int h)
3434
glEnable(GL_DEPTH_TEST);
3535
}
3636

37+
static void keyboard(unsigned char key, int x, int y)
38+
{
39+
switch (key) {
40+
case 27: // Escape key
41+
glutDestroyWindow(1);
42+
return;
43+
}
44+
glutPostRedisplay();
45+
}
46+
3747
int main(int argc, char **argv)
3848
{
3949
glutInit(&argc, argv);
@@ -43,9 +53,10 @@ int main(int argc, char **argv)
4353

4454
glutReshapeFunc(reshape);
4555
glutDisplayFunc(display);
56+
glutKeyboardFunc(keyboard);
4657

4758
// initialize glad after creating a context
48-
int version = gladLoadGLInternalLoader();
59+
int version = gladLoaderLoadGL();
4960
if(version == 0) {
5061
printf("Something went wrong!\n");
5162
exit(-1);

example/c/glx.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ int main(void) {
2323

2424
int screen = DefaultScreen(display);
2525

26-
int glx_version = gladLoadGLXInternalLoader(display, screen);
26+
int glx_version = gladLoaderLoadGLX(display, screen);
2727
if (!glx_version) {
2828
printf("Unable to load GLX.\n");
2929
return 1;
@@ -57,7 +57,7 @@ int main(void) {
5757
GLXContext context = glXCreateContext(display, visual_info, NULL, GL_TRUE);
5858
glXMakeCurrent(display, window, context);
5959

60-
int gl_version = gladLoadGLInternalLoader();
60+
int gl_version = gladLoaderLoadGL();
6161
if (!gl_version) {
6262
printf("Unable to load GL.\n");
6363
return 1;

example/c/glx_modern.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ int main(void) {
4444
return 1;
4545
}
4646

47-
int glx_version = gladLoadGLXInternalLoader(display, screen);
47+
int glx_version = gladLoaderLoadGLX(display, screen);
4848
if (!glx_version) {
4949
printf("Unable to load GLX.\n");
5050
return 1;
@@ -76,7 +76,7 @@ int main(void) {
7676

7777
glXMakeCurrent(display, window, context);
7878

79-
int gl_version = gladLoadGLInternalLoader();
79+
int gl_version = gladLoaderLoadGL();
8080
if (!gl_version) {
8181
printf("Unable to load GL.\n");
8282
return 1;

example/c/vulkan_tri_glfw.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1695,7 +1695,7 @@ static void demo_init_vk(struct demo *demo) {
16951695
"VK_LAYER_GOOGLE_unique_objects"
16961696
};
16971697

1698-
glad_vk_version = gladLoadVulkanInternalLoader(NULL, NULL, NULL);
1698+
glad_vk_version = gladLoaderLoadVulkan(NULL, NULL, NULL);
16991699
if (!glad_vk_version) {
17001700
ERR_EXIT("Unable to load Vulkan symbols!\n",
17011701
"gladLoad Failure");
@@ -1835,7 +1835,7 @@ static void demo_init_vk(struct demo *demo) {
18351835

18361836
/* Look for device extensions */
18371837
/* Re-Load glad here to load instance pointers and to populate available extensions */
1838-
glad_vk_version = gladLoadVulkanInternalLoader(demo->inst, demo->gpu, NULL);
1838+
glad_vk_version = gladLoaderLoadVulkan(demo->inst, demo->gpu, NULL);
18391839
if (!glad_vk_version) {
18401840
ERR_EXIT("Unable to re-load Vulkan symbols with instance!\n",
18411841
"gladLoad Failure");
@@ -1961,7 +1961,7 @@ static void demo_init_device(struct demo *demo) {
19611961
err = vkCreateDevice(demo->gpu, &device, NULL, &demo->device);
19621962
assert(!err);
19631963

1964-
int glad_vk_version = gladLoadVulkanInternalLoader(demo->inst, demo->gpu, demo->device);
1964+
int glad_vk_version = gladLoaderLoadVulkan(demo->inst, demo->gpu, demo->device);
19651965
if (!glad_vk_version) {
19661966
ERR_EXIT("Unable to re-load Vulkan symbols with device!\n",
19671967
"gladLoad Failure");

example/c/wgl.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLi
8686
wglMakeCurrent(hdc, temp_context);
8787

8888
// Load WGL Extensions:
89-
gladLoadWGLInternalLoader(hdc);
89+
gladLoaderLoadWGL(hdc);
9090

9191
// Set the desired OpenGL version:
9292
int attributes[] = {
@@ -111,7 +111,7 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLi
111111
wglMakeCurrent(hdc, opengl_context); // Make our OpenGL 3.2 context current
112112

113113
// Glad Loader!
114-
if (!gladLoadGLInternalLoader()) {
114+
if (!gladLoaderLoadGL()) {
115115
wglMakeCurrent(NULL, NULL);
116116
wglDeleteContext(opengl_context);
117117
ReleaseDC(hWnd, hdc);
@@ -134,7 +134,7 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLi
134134
TranslateMessage(&msg);
135135
DispatchMessage(&msg);
136136

137-
if (msg.message == WM_QUIT)
137+
if (msg.message == WM_QUIT || (msg.message == WM_KEYDOWN && msg.wParam == VK_ESCAPE))
138138
should_quit = true;
139139
}
140140

glad/generator/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99

1010
def _api_filter(api):
11-
if len(api) > 4:
11+
if len(api) > 5:
1212
return api.capitalize()
1313
return api.upper()
1414

glad/generator/c/templates/base_template.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ void gladSet{{ feature_set.api }}PostCallback(GLADpostcallback cb) {
8585
{% block extension_loaders %}
8686
{% for extension, commands in loadable() %}
8787
{% call template_utils.protect(extension) %}
88-
static void load_{{ extension.name }}({{ template_utils.context_arg(',') }} GLADloadfunc load, void* userptr) {
88+
static void load_{{ extension.name }}({{ template_utils.context_arg(',') }} GLADuserptrloadfunc load, void* userptr) {
8989
if(!{{ ('GLAD_' + extension.name)|ctx }}) return;
9090
{% for command in commands %}
9191
{{ command.name|ctx }} = ({{ command.name|pfn }}) load("{{ command.name }}", userptr);

glad/generator/c/templates/egl.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ static int find_core{{ feature_set.api|api }}(EGLDisplay display) {
7474
return GLAD_MAKE_VERSION(major, minor);
7575
}
7676

77-
int gladLoad{{ feature_set.api|api }}(EGLDisplay display, GLADloadfunc load, void* userptr) {
77+
int gladLoad{{ feature_set.api|api }}UserPtr(EGLDisplay display, GLADuserptrloadfunc load, void* userptr) {
7878
int version;
7979
eglGetDisplay = (PFNEGLGETDISPLAYPROC) load("eglGetDisplay", userptr);
8080
eglGetCurrentDisplay = (PFNEGLGETCURRENTDISPLAYPROC) load("eglGetCurrentDisplay", userptr);
@@ -100,8 +100,8 @@ static GLADapiproc glad_egl_get_proc_from_userptr(const char *name, void *userpt
100100
return (GLAD_GNUC_EXTENSION (GLADapiproc (*)(const char *name)) userptr)(name);
101101
}
102102

103-
int gladLoad{{ feature_set.api|api }}Simple(EGLDisplay display, GLADsimpleloadfunc load) {
104-
return gladLoad{{ feature_set.api|api }}(display, glad_egl_get_proc_from_userptr, GLAD_GNUC_EXTENSION (void*) load);
103+
int gladLoad{{ feature_set.api|api }}(EGLDisplay display, GLADloadfunc load) {
104+
return gladLoad{{ feature_set.api|api }}UserPtr(display, glad_egl_get_proc_from_userptr, GLAD_GNUC_EXTENSION (void*) load);
105105
}
106106

107107
{% endblock %}

glad/generator/c/templates/egl.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{% extends 'base_template.h' %}
22

33
{% block declarations %}
4-
GLAD_API_CALL int gladLoad{{ feature_set.api|api }}(EGLDisplay display, GLADloadfunc load, void *userptr);
5-
GLAD_API_CALL int gladLoad{{ feature_set.api|api }}Simple(EGLDisplay display, GLADsimpleloadfunc load);
4+
GLAD_API_CALL int gladLoad{{ feature_set.api|api }}UserPtr(EGLDisplay display, GLADuserptrloadfunc load, void *userptr);
5+
GLAD_API_CALL int gladLoad{{ feature_set.api|api }}(EGLDisplay display, GLADloadfunc load);
66

77
{{ super() }}
88
{% endblock %}

glad/generator/c/templates/gl.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ static int find_core{{ feature_set.api|api }}({{ template_utils.context_arg(def=
174174
return GLAD_MAKE_VERSION(major, minor);
175175
}
176176

177-
int gladLoad{{ feature_set.api|api }}{{ 'Context' if options.mx }}({{ template_utils.context_arg(',') }} GLADloadfunc load, void *userptr) {
177+
int gladLoad{{ feature_set.api|api }}{{ 'Context' if options.mx }}UserPtr({{ template_utils.context_arg(',') }} GLADuserptrloadfunc load, void *userptr) {
178178
int version;
179179

180180
{{ 'glGetString'|ctx }} = (PFNGLGETSTRINGPROC) load("glGetString", userptr);
@@ -203,22 +203,22 @@ int gladLoad{{ feature_set.api|api }}{{ 'Context' if options.mx }}({{ template_u
203203
}
204204

205205
{% if options.mx_global %}
206-
int gladLoad{{ feature_set.api|api }}(GLADloadfunc load, void *userptr) {
207-
return gladLoad{{ feature_set.api|api }}Context(gladGet{{ feature_set.api|api }}Context(), load, userptr);
206+
int gladLoad{{ feature_set.api|api }}UserPtr(GLADuserptrloadfunc load, void *userptr) {
207+
return gladLoad{{ feature_set.api|api }}ContextUserPtr(gladGet{{ feature_set.api|api }}Context(), load, userptr);
208208
}
209209
{% endif %}
210210

211211
static GLADapiproc glad_gl_get_proc_from_userptr(const char* name, void *userptr) {
212212
return (GLAD_GNUC_EXTENSION (GLADapiproc (*)(const char *name)) userptr)(name);
213213
}
214214

215-
int gladLoad{{ feature_set.api|api }}Simple{{ 'Context' if options.mx }}({{ template_utils.context_arg(',') }} GLADsimpleloadfunc load) {
216-
return gladLoad{{ feature_set.api|api }}{{ 'Context' if options.mx }}({{'context,' if options.mx }} glad_gl_get_proc_from_userptr, GLAD_GNUC_EXTENSION (void*) load);
215+
int gladLoad{{ feature_set.api|api }}{{ 'Context' if options.mx }}({{ template_utils.context_arg(',') }} GLADloadfunc load) {
216+
return gladLoad{{ feature_set.api|api }}{{ 'Context' if options.mx }}UserPtr({{'context,' if options.mx }} glad_gl_get_proc_from_userptr, GLAD_GNUC_EXTENSION (void*) load);
217217
}
218218

219219
{% if options.mx_global %}
220-
int gladLoad{{ feature_set.api|api }}Simple(GLADsimpleloadfunc load) {
221-
return gladLoad{{ feature_set.api|api }}SimpleContext(gladGet{{ feature_set.api|api }}Context(), load);
220+
int gladLoad{{ feature_set.api|api }}(GLADloadfunc load) {
221+
return gladLoad{{ feature_set.api|api }}Context(gladGet{{ feature_set.api|api }}Context(), load);
222222
}
223223
{% endif %}
224224

glad/generator/c/templates/gl.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@
1616

1717

1818
{% block declarations %}
19-
GLAD_API_CALL int gladLoad{{ feature_set.api|api }}{{ 'Context' if options.mx }}({{ template_utils.context_arg(',') }} GLADloadfunc load, void *userptr);
20-
GLAD_API_CALL int gladLoad{{ feature_set.api|api }}Simple{{ 'Context' if options.mx }}({{ template_utils.context_arg(',') }} GLADsimpleloadfunc load);
19+
GLAD_API_CALL int gladLoad{{ feature_set.api|api }}{{ 'Context' if options.mx }}UserPtr({{ template_utils.context_arg(',') }} GLADuserptrloadfunc load, void *userptr);
20+
GLAD_API_CALL int gladLoad{{ feature_set.api|api }}{{ 'Context' if options.mx }}({{ template_utils.context_arg(',') }} GLADloadfunc load);
2121

2222
{% if options.mx_global %}
23-
GLAD_API_CALL int gladLoad{{ feature_set.api|api }}(GLADloadfunc load, void *userptr);
24-
GLAD_API_CALL int gladLoad{{ feature_set.api|api }}Simple(GLADsimpleloadfunc load);
23+
GLAD_API_CALL int gladLoad{{ feature_set.api|api }}UserPtr(GLADuserptrloadfunc load, void *userptr);
24+
GLAD_API_CALL int gladLoad{{ feature_set.api|api }}(GLADloadfunc load);
2525
{% endif %}
2626

2727
{{ super() }}

glad/generator/c/templates/glx.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ static int find_core{{ feature_set.api|api }}(Display **display, int *screen) {
5656
return GLAD_MAKE_VERSION(major, minor);
5757
}
5858

59-
int gladLoad{{ feature_set.api|api }}(Display *display, int screen, GLADloadfunc load, void *userptr) {
59+
int gladLoad{{ feature_set.api|api }}UserPtr(Display *display, int screen, GLADuserptrloadfunc load, void *userptr) {
6060
int version;
6161
glXQueryVersion = (PFNGLXQUERYVERSIONPROC) load("glXQueryVersion", userptr);
6262
if(glXQueryVersion == NULL) return 0;
@@ -78,8 +78,8 @@ static GLADapiproc glad_glx_get_proc_from_userptr(const char* name, void *userpt
7878
return (GLAD_GNUC_EXTENSION (GLADapiproc (*)(const char *name)) userptr)(name);
7979
}
8080

81-
int gladLoad{{ feature_set.api|api }}Simple(Display *display, int screen, GLADsimpleloadfunc load) {
82-
return gladLoad{{ feature_set.api|api }}(display, screen, glad_glx_get_proc_from_userptr, GLAD_GNUC_EXTENSION (void*) load);
81+
int gladLoad{{ feature_set.api|api }}(Display *display, int screen, GLADloadfunc load) {
82+
return gladLoad{{ feature_set.api|api }}UserPtr(display, screen, glad_glx_get_proc_from_userptr, GLAD_GNUC_EXTENSION (void*) load);
8383
}
8484

8585
{% endblock %}

0 commit comments

Comments
 (0)