瀏覽代碼

Protect artwork update with mutex - release

philippe44 2 年之前
父節點
當前提交
60ba05d3d9
共有 1 個文件被更改,包括 2 次插入0 次删除
  1. 2 0
      components/squeezelite/displayer.c

+ 2 - 0
components/squeezelite/displayer.c

@@ -875,7 +875,9 @@ static void grfa_handler(u8_t *data, int len) {
 	artwork.size += size;
 	if (artwork.size == length) {
 		GDS_ClearWindow(display, artwork.x, artwork.y, -1, -1, GDS_COLOR_BLACK);
+		xSemaphoreTake(displayer.mutex, portMAX_DELAY);
 		GDS_DrawJPEG(display, artwork.data, artwork.x, artwork.y, artwork.y < displayer.height ? (GDS_IMAGE_RIGHT | GDS_IMAGE_TOP) : GDS_IMAGE_CENTER);
+		xSemaphoreGive(displayer.mutex);
 		free(artwork.data);
 		artwork.data = NULL;
 	}