Skip to content

Commit

Permalink
Merge pull request #8623 from radarhere/threads
Browse files Browse the repository at this point in the history
  • Loading branch information
hugovk authored Dec 26, 2024
2 parents 0e3f51d + 62b7cb6 commit 6e66166
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 34 deletions.
56 changes: 28 additions & 28 deletions src/_imagingcms.c
Original file line number Diff line number Diff line change
Expand Up @@ -346,10 +346,10 @@ pyCMSdoTransform(Imaging im, Imaging imOut, cmsHTRANSFORM hTransform) {
return -1;
}

Py_BEGIN_ALLOW_THREADS
Py_BEGIN_ALLOW_THREADS;

// transform color channels only
for (i = 0; i < im->ysize; i++) {
// transform color channels only
for (i = 0; i < im->ysize; i++) {
cmsDoTransform(hTransform, im->image[i], imOut->image[i], im->xsize);
}

Expand All @@ -362,9 +362,9 @@ pyCMSdoTransform(Imaging im, Imaging imOut, cmsHTRANSFORM hTransform) {
// enough available on all platforms, so we polyfill it here for now.
pyCMScopyAux(hTransform, imOut, im);

Py_END_ALLOW_THREADS
Py_END_ALLOW_THREADS;

return 0;
return 0;
}

static cmsHTRANSFORM
Expand All @@ -378,17 +378,17 @@ _buildTransform(
) {
cmsHTRANSFORM hTransform;

Py_BEGIN_ALLOW_THREADS
Py_BEGIN_ALLOW_THREADS;

/* create the transform */
hTransform = cmsCreateTransform(
hInputProfile,
findLCMStype(sInMode),
hOutputProfile,
findLCMStype(sOutMode),
iRenderingIntent,
cmsFLAGS
);
/* create the transform */
hTransform = cmsCreateTransform(
hInputProfile,
findLCMStype(sInMode),
hOutputProfile,
findLCMStype(sOutMode),
iRenderingIntent,
cmsFLAGS
);

Py_END_ALLOW_THREADS;

Expand All @@ -412,19 +412,19 @@ _buildProofTransform(
) {
cmsHTRANSFORM hTransform;

Py_BEGIN_ALLOW_THREADS

/* create the transform */
hTransform = cmsCreateProofingTransform(
hInputProfile,
findLCMStype(sInMode),
hOutputProfile,
findLCMStype(sOutMode),
hProofProfile,
iRenderingIntent,
iProofIntent,
cmsFLAGS
);
Py_BEGIN_ALLOW_THREADS;

/* create the transform */
hTransform = cmsCreateProofingTransform(
hInputProfile,
findLCMStype(sInMode),
hOutputProfile,
findLCMStype(sOutMode),
hProofProfile,
iRenderingIntent,
iProofIntent,
cmsFLAGS
);

Py_END_ALLOW_THREADS;

Expand Down
14 changes: 8 additions & 6 deletions src/display.c
Original file line number Diff line number Diff line change
Expand Up @@ -690,24 +690,26 @@ PyImaging_CreateWindowWin32(PyObject *self, PyObject *args) {
SetWindowLongPtr(wnd, 0, (LONG_PTR)callback);
SetWindowLongPtr(wnd, sizeof(callback), (LONG_PTR)PyThreadState_Get());

Py_BEGIN_ALLOW_THREADS ShowWindow(wnd, SW_SHOWNORMAL);
Py_BEGIN_ALLOW_THREADS;
ShowWindow(wnd, SW_SHOWNORMAL);
SetForegroundWindow(wnd); /* to make sure it's visible */
Py_END_ALLOW_THREADS
Py_END_ALLOW_THREADS;

return Py_BuildValue(F_HANDLE, wnd);
return Py_BuildValue(F_HANDLE, wnd);
}

PyObject *
PyImaging_EventLoopWin32(PyObject *self, PyObject *args) {
MSG msg;

Py_BEGIN_ALLOW_THREADS while (mainloop && GetMessage(&msg, NULL, 0, 0)) {
Py_BEGIN_ALLOW_THREADS;
while (mainloop && GetMessage(&msg, NULL, 0, 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
Py_END_ALLOW_THREADS
Py_END_ALLOW_THREADS;

Py_INCREF(Py_None);
Py_INCREF(Py_None);
return Py_None;
}

Expand Down

0 comments on commit 6e66166

Please sign in to comment.