vips_sink_screen: 发生崩溃,背景渲染线程可以使用一个已释放的 Render
作者: octopus-kkk创建于 2026年8月13日更新于 2026年9月3日
标签bug
/* gcc -g -o mre mre.c pkg-config vips --cflags --libs */
#include <stdio.h> #include <glib.h> #include <vips/vips.h>
// A non-NULL notify is what selects the asynchronous path. static void notify_cb(VipsImage *im, VipsRect *rect, void *a) { }
int main(int argc, char **argv) { if (VIPS_INIT(argv[0])) vips_error_exit(NULL);
for (int i = 0; i < 4000; i++) {
VipsImage *in, *out;
VipsRegion *region;
VipsRect r = { 0, 0, 64, 64 };
if (vips_gaussnoise(&in, 2048, 2048, NULL))
vips_error_exit(NULL);
out = vips_image_new();
if (vips_sink_screen(in, out, NULL, 64, 64, 32, 0, notify_cb, NULL))
…
内容来源: libvips/libvips