Fix context menu canvas access issues

ix context menu canvas access paths to properly reference canvasWidget.canvas methods instead of canvasWidget directly.
This commit is contained in:
Dariusz L
2025-08-14 14:59:28 +02:00
parent f6a240c535
commit 8d1545bb7e
2 changed files with 28 additions and 28 deletions

View File

@@ -1296,8 +1296,8 @@ app.registerExtension({
callback: async () => { callback: async () => {
try { try {
log.info("Opening LayerForge canvas in MaskEditor"); log.info("Opening LayerForge canvas in MaskEditor");
if (self.canvasWidget && self.canvasWidget.startMaskEditor) { if (self.canvasWidget && self.canvasWidget.canvas) {
await self.canvasWidget.startMaskEditor(null, true); await self.canvasWidget.canvas.startMaskEditor(null, true);
} }
else { else {
log.error("Canvas widget not available"); log.error("Canvas widget not available");
@@ -1314,9 +1314,9 @@ app.registerExtension({
content: "Open Image", content: "Open Image",
callback: async () => { callback: async () => {
try { try {
if (!self.canvasWidget) if (!self.canvasWidget || !self.canvasWidget.canvas)
return; return;
const blob = await self.canvasWidget.getFlattenedCanvasAsBlob(); const blob = await self.canvasWidget.canvas.canvasLayers.getFlattenedCanvasAsBlob();
if (!blob) if (!blob)
return; return;
const url = URL.createObjectURL(blob); const url = URL.createObjectURL(blob);
@@ -1332,9 +1332,9 @@ app.registerExtension({
content: "Open Image with Mask Alpha", content: "Open Image with Mask Alpha",
callback: async () => { callback: async () => {
try { try {
if (!self.canvasWidget) if (!self.canvasWidget || !self.canvasWidget.canvas)
return; return;
const blob = await self.canvasWidget.getFlattenedCanvasWithMaskAsBlob(); const blob = await self.canvasWidget.canvas.canvasLayers.getFlattenedCanvasWithMaskAsBlob();
if (!blob) if (!blob)
return; return;
const url = URL.createObjectURL(blob); const url = URL.createObjectURL(blob);
@@ -1350,9 +1350,9 @@ app.registerExtension({
content: "Copy Image", content: "Copy Image",
callback: async () => { callback: async () => {
try { try {
if (!self.canvasWidget) if (!self.canvasWidget || !self.canvasWidget.canvas)
return; return;
const blob = await self.canvasWidget.getFlattenedCanvasAsBlob(); const blob = await self.canvasWidget.canvas.canvasLayers.getFlattenedCanvasAsBlob();
if (!blob) if (!blob)
return; return;
const item = new ClipboardItem({ 'image/png': blob }); const item = new ClipboardItem({ 'image/png': blob });
@@ -1369,9 +1369,9 @@ app.registerExtension({
content: "Copy Image with Mask Alpha", content: "Copy Image with Mask Alpha",
callback: async () => { callback: async () => {
try { try {
if (!self.canvasWidget) if (!self.canvasWidget || !self.canvasWidget.canvas)
return; return;
const blob = await self.canvasWidget.getFlattenedCanvasWithMaskAsBlob(); const blob = await self.canvasWidget.canvas.canvasLayers.getFlattenedCanvasWithMaskAsBlob();
if (!blob) if (!blob)
return; return;
const item = new ClipboardItem({ 'image/png': blob }); const item = new ClipboardItem({ 'image/png': blob });
@@ -1388,9 +1388,9 @@ app.registerExtension({
content: "Save Image", content: "Save Image",
callback: async () => { callback: async () => {
try { try {
if (!self.canvasWidget) if (!self.canvasWidget || !self.canvasWidget.canvas)
return; return;
const blob = await self.canvasWidget.getFlattenedCanvasAsBlob(); const blob = await self.canvasWidget.canvas.canvasLayers.getFlattenedCanvasAsBlob();
if (!blob) if (!blob)
return; return;
const url = URL.createObjectURL(blob); const url = URL.createObjectURL(blob);
@@ -1411,9 +1411,9 @@ app.registerExtension({
content: "Save Image with Mask Alpha", content: "Save Image with Mask Alpha",
callback: async () => { callback: async () => {
try { try {
if (!self.canvasWidget) if (!self.canvasWidget || !self.canvasWidget.canvas)
return; return;
const blob = await self.canvasWidget.getFlattenedCanvasWithMaskAsBlob(); const blob = await self.canvasWidget.canvas.canvasLayers.getFlattenedCanvasWithMaskAsBlob();
if (!blob) if (!blob)
return; return;
const url = URL.createObjectURL(blob); const url = URL.createObjectURL(blob);

View File

@@ -1490,8 +1490,8 @@ app.registerExtension({
callback: async () => { callback: async () => {
try { try {
log.info("Opening LayerForge canvas in MaskEditor"); log.info("Opening LayerForge canvas in MaskEditor");
if ((self as any).canvasWidget && (self as any).canvasWidget.startMaskEditor) { if ((self as any).canvasWidget && (self as any).canvasWidget.canvas) {
await (self as any).canvasWidget.startMaskEditor(null, true); await (self as any).canvasWidget.canvas.startMaskEditor(null, true);
} else { } else {
log.error("Canvas widget not available"); log.error("Canvas widget not available");
showErrorNotification("Canvas not ready. Please try again."); showErrorNotification("Canvas not ready. Please try again.");
@@ -1506,8 +1506,8 @@ app.registerExtension({
content: "Open Image", content: "Open Image",
callback: async () => { callback: async () => {
try { try {
if (!(self as any).canvasWidget) return; if (!(self as any).canvasWidget || !(self as any).canvasWidget.canvas) return;
const blob = await (self as any).canvasWidget.getFlattenedCanvasAsBlob(); const blob = await (self as any).canvasWidget.canvas.canvasLayers.getFlattenedCanvasAsBlob();
if (!blob) return; if (!blob) return;
const url = URL.createObjectURL(blob); const url = URL.createObjectURL(blob);
window.open(url, '_blank'); window.open(url, '_blank');
@@ -1521,8 +1521,8 @@ app.registerExtension({
content: "Open Image with Mask Alpha", content: "Open Image with Mask Alpha",
callback: async () => { callback: async () => {
try { try {
if (!(self as any).canvasWidget) return; if (!(self as any).canvasWidget || !(self as any).canvasWidget.canvas) return;
const blob = await (self as any).canvasWidget.getFlattenedCanvasWithMaskAsBlob(); const blob = await (self as any).canvasWidget.canvas.canvasLayers.getFlattenedCanvasWithMaskAsBlob();
if (!blob) return; if (!blob) return;
const url = URL.createObjectURL(blob); const url = URL.createObjectURL(blob);
window.open(url, '_blank'); window.open(url, '_blank');
@@ -1536,8 +1536,8 @@ app.registerExtension({
content: "Copy Image", content: "Copy Image",
callback: async () => { callback: async () => {
try { try {
if (!(self as any).canvasWidget) return; if (!(self as any).canvasWidget || !(self as any).canvasWidget.canvas) return;
const blob = await (self as any).canvasWidget.getFlattenedCanvasAsBlob(); const blob = await (self as any).canvasWidget.canvas.canvasLayers.getFlattenedCanvasAsBlob();
if (!blob) return; if (!blob) return;
const item = new ClipboardItem({'image/png': blob}); const item = new ClipboardItem({'image/png': blob});
await navigator.clipboard.write([item]); await navigator.clipboard.write([item]);
@@ -1552,8 +1552,8 @@ app.registerExtension({
content: "Copy Image with Mask Alpha", content: "Copy Image with Mask Alpha",
callback: async () => { callback: async () => {
try { try {
if (!(self as any).canvasWidget) return; if (!(self as any).canvasWidget || !(self as any).canvasWidget.canvas) return;
const blob = await (self as any).canvasWidget.getFlattenedCanvasWithMaskAsBlob(); const blob = await (self as any).canvasWidget.canvas.canvasLayers.getFlattenedCanvasWithMaskAsBlob();
if (!blob) return; if (!blob) return;
const item = new ClipboardItem({'image/png': blob}); const item = new ClipboardItem({'image/png': blob});
await navigator.clipboard.write([item]); await navigator.clipboard.write([item]);
@@ -1568,8 +1568,8 @@ app.registerExtension({
content: "Save Image", content: "Save Image",
callback: async () => { callback: async () => {
try { try {
if (!(self as any).canvasWidget) return; if (!(self as any).canvasWidget || !(self as any).canvasWidget.canvas) return;
const blob = await (self as any).canvasWidget.getFlattenedCanvasAsBlob(); const blob = await (self as any).canvasWidget.canvas.canvasLayers.getFlattenedCanvasAsBlob();
if (!blob) return; if (!blob) return;
const url = URL.createObjectURL(blob); const url = URL.createObjectURL(blob);
const a = document.createElement('a'); const a = document.createElement('a');
@@ -1588,8 +1588,8 @@ app.registerExtension({
content: "Save Image with Mask Alpha", content: "Save Image with Mask Alpha",
callback: async () => { callback: async () => {
try { try {
if (!(self as any).canvasWidget) return; if (!(self as any).canvasWidget || !(self as any).canvasWidget.canvas) return;
const blob = await (self as any).canvasWidget.getFlattenedCanvasWithMaskAsBlob(); const blob = await (self as any).canvasWidget.canvas.canvasLayers.getFlattenedCanvasWithMaskAsBlob();
if (!blob) return; if (!blob) return;
const url = URL.createObjectURL(blob); const url = URL.createObjectURL(blob);
const a = document.createElement('a'); const a = document.createElement('a');