Skip to content

Commit 4632b23

Browse files
committed
26.6.6 Some fix
1 parent a47ba13 commit 4632b23

7 files changed

Lines changed: 28 additions & 25 deletions

File tree

Debug/lib/te32.dll

0 Bytes
Binary file not shown.

Debug/lib/te64.dll

0 Bytes
Binary file not shown.

Debug/script/sync.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ g_.arError = api.CreateObject("Array");
6969

7070
AboutTE = function (n) {
7171
if (n == 0) {
72-
return te.Version < 20260512 ? te.Version : 20260512;
72+
return te.Version < 20260606 ? te.Version : 20260606;
7373
}
7474
if (n == 1) {
7575
const v = AboutTE(0);

TE/Resource.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
#else
1616
//Version(DLL)
1717
#define VER_Y 26
18-
#define VER_M 5
19-
#define VER_D 12
18+
#define VER_M 6
19+
#define VER_D 6
2020
#endif
2121

2222
//Icon

TE/TE.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ HINSTANCE g_hShell32 = NULL;
3535
HINSTANCE g_hTEWV = NULL;
3636
HWND g_hDialog = NULL;
3737
IShellWindows *g_pSW = NULL;
38+
IWICImagingFactory *g_pWICFactory = NULL;
3839

3940
LPFNSHRunDialog _SHRunDialog = NULL;
4041
LPFNRegenerateUserEnvironment _RegenerateUserEnvironment = NULL;
@@ -4868,6 +4869,7 @@ function _c(s) {\
48684869
SafeRelease(&g_pJS);
48694870
SafeRelease(&g_pAutomation);
48704871
SafeRelease(&g_pDropTargetHelper);
4872+
SafeRelease(&g_pWICFactory);
48714873
#ifdef _DEBUG
48724874
auto itr = g_umCBTHook.find(GetCurrentThreadId());
48734875
if (itr != g_umCBTHook.end()) {

TE/objects.cpp

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ extern BOOL g_bDragging;
2828
extern IDropTargetHelper *g_pDropTargetHelper;
2929
extern LPFND2D1CreateFactory _D2D1CreateFactory;
3030
extern LPFNDWriteCreateFactory _DWriteCreateFactory;
31+
extern IWICImagingFactory *g_pWICFactory;
3132

3233
extern FORMATETC HDROPFormat;
3334
extern FORMATETC IDLISTFormat;
@@ -2370,8 +2371,10 @@ CteWICBitmap::CteWICBitmap()
23702371
m_guidSrc = GUID_NULL;
23712372
m_pImage = NULL;
23722373
m_pStream = NULL;
2373-
if FAILED(teCreateInstance(CLSID_WICImagingFactory, NULL, NULL, IID_PPV_ARGS(&m_pWICFactory))) {
2374-
m_pWICFactory = NULL;
2374+
if (!g_pWICFactory) {
2375+
if FAILED(teCreateInstance(CLSID_WICImagingFactory, NULL, NULL, IID_PPV_ARGS(&g_pWICFactory))) {
2376+
g_pWICFactory = NULL;
2377+
}
23752378
}
23762379
for (int i = Count_WICFunc; i--;) {
23772380
m_ppDispatch[i] = NULL;
@@ -2391,7 +2394,6 @@ CteWICBitmap::~CteWICBitmap()
23912394
for (int i = Count_WICFunc; i--;) {
23922395
SafeRelease(&m_ppDispatch[i]);
23932396
}
2394-
SafeRelease(&m_pWICFactory);
23952397
}
23962398

23972399
VOID CteWICBitmap::ClearImage(BOOL bAll)
@@ -2523,12 +2525,12 @@ BOOL CteWICBitmap::Get(WICPixelFormatGUID guidNewPF)
25232525
}
25242526
BOOL b = FALSE;
25252527
IWICFormatConverter *pConverter;
2526-
if SUCCEEDED(m_pWICFactory->CreateFormatConverter(&pConverter)) {
2528+
if SUCCEEDED(g_pWICFactory->CreateFormatConverter(&pConverter)) {
25272529
if SUCCEEDED(pConverter->Initialize(m_pImage, guidNewPF, WICBitmapDitherTypeNone, NULL, 0.0f, WICBitmapPaletteTypeMedianCut)) {
25282530
pConverter->GetPixelFormat(&guidPF);
25292531
if (IsEqualGUID(guidPF, guidNewPF)) {
25302532
IWICBitmap *pIBitmap;
2531-
b = SUCCEEDED(m_pWICFactory->CreateBitmapFromSource(pConverter, WICBitmapCacheOnDemand, &pIBitmap));
2533+
b = SUCCEEDED(g_pWICFactory->CreateBitmapFromSource(pConverter, WICBitmapCacheOnDemand, &pIBitmap));
25322534
if (b) {
25332535
ClearImage(FALSE);
25342536
m_pImage = pIBitmap;
@@ -2546,7 +2548,7 @@ BOOL CteWICBitmap::GetEncoderClsid(LPWSTR pszName, CLSID* pClsid, LPWSTR pszMime
25462548
WCHAR pszType[MAX_PATH];
25472549
WCHAR pszExt[MAX_PATH];
25482550
LPWSTR pszExt0 = PathFindExtension(pszName);
2549-
HRESULT hr = m_pWICFactory->CreateComponentEnumerator(WICEncoder, WICComponentEnumerateDefault, &pEnum);
2551+
HRESULT hr = g_pWICFactory->CreateComponentEnumerator(WICEncoder, WICComponentEnumerateDefault, &pEnum);
25502552
if SUCCEEDED(hr) {
25512553
ULONG cbActual = 0;
25522554
IUnknown *punk;
@@ -2617,7 +2619,7 @@ HRESULT CteWICBitmap::CreateBitmapFromHBITMAP(HBITMAP hBM, HPALETTE hPalette, in
26172619
}
26182620
}
26192621
IWICBitmap *pIBitmap;
2620-
HRESULT hr = m_pWICFactory->CreateBitmapFromHBITMAP(hBM, hPalette, (WICBitmapAlphaChannelOption)nAlpha, &pIBitmap);
2622+
HRESULT hr = g_pWICFactory->CreateBitmapFromHBITMAP(hBM, hPalette, (WICBitmapAlphaChannelOption)nAlpha, &pIBitmap);
26212623
if SUCCEEDED(hr) {
26222624
ClearImage(FALSE);
26232625
m_pImage = pIBitmap;
@@ -2630,7 +2632,7 @@ HRESULT CteWICBitmap::CreateStream(IStream *pStream, CLSID encoderClsid, LONG lQ
26302632
HRESULT hr = E_FAIL;
26312633
if (pStream) {
26322634
IWICBitmapEncoder *pEncoder;
2633-
if SUCCEEDED(m_pWICFactory->CreateEncoder(encoderClsid, NULL, &pEncoder)) {
2635+
if SUCCEEDED(g_pWICFactory->CreateEncoder(encoderClsid, NULL, &pEncoder)) {
26342636
if (m_pStream && (lQuality == -2 || ((lQuality == 0 || lQuality == 100) && IsEqualGUID(encoderClsid, m_guidSrc)))) {
26352637
teCopyStream(m_pStream, pStream);
26362638
hr = S_OK;
@@ -2657,7 +2659,7 @@ HRESULT CteWICBitmap::CreateStream(IStream *pStream, CLSID encoderClsid, LONG lQ
26572659
pFrameEncode->SetSize(w, h);
26582660
pFrameEncode->SetPixelFormat(&guidPF);
26592661
IWICPalette *pPalette = NULL;
2660-
if SUCCEEDED(m_pWICFactory->CreatePalette(&pPalette)) {
2662+
if SUCCEEDED(g_pWICFactory->CreatePalette(&pPalette)) {
26612663
if SUCCEEDED(m_pImage->CopyPalette(pPalette)) {
26622664
pFrameEncode->SetPalette(pPalette);
26632665
}
@@ -2753,13 +2755,13 @@ VOID CteWICBitmap::GetFrameFromStream(IStream *pStream, UINT uFrame, BOOL bKeepS
27532755
liOffset.QuadPart = 0;
27542756
pStream->Seek(liOffset, SEEK_SET, NULL);
27552757
IWICBitmapDecoder *pDecoder;
2756-
if SUCCEEDED(m_pWICFactory->CreateDecoderFromStream(pStream, NULL, WICDecodeMetadataCacheOnDemand, &pDecoder)) {
2758+
if SUCCEEDED(g_pWICFactory->CreateDecoderFromStream(pStream, NULL, WICDecodeMetadataCacheOnDemand, &pDecoder)) {
27572759
IWICBitmapFrameDecode *pFrameDecode;
27582760
pDecoder->GetFrameCount(&m_uFrameCount);
27592761
if (m_uFrameCount) {
27602762
if SUCCEEDED(pDecoder->GetFrame(uFrame, &pFrameDecode)) {
27612763
IWICBitmap *pIBitmap;
2762-
if SUCCEEDED(m_pWICFactory->CreateBitmapFromSource(pFrameDecode, WICBitmapCacheOnDemand, &pIBitmap)) {
2764+
if SUCCEEDED(g_pWICFactory->CreateBitmapFromSource(pFrameDecode, WICBitmapCacheOnDemand, &pIBitmap)) {
27632765
ClearImage(FALSE);
27642766
m_pImage = pIBitmap;
27652767
}
@@ -2868,10 +2870,10 @@ HRESULT CteWICBitmap::GetArchive(LPWSTR lpfn, int cx)
28682870
VOID CteWICBitmap::RotateFlip(int n, BOOL bClearMeta)
28692871
{
28702872
IWICBitmapFlipRotator *pFlipRotator;
2871-
if SUCCEEDED(m_pWICFactory->CreateBitmapFlipRotator(&pFlipRotator)) {
2873+
if SUCCEEDED(g_pWICFactory->CreateBitmapFlipRotator(&pFlipRotator)) {
28722874
if SUCCEEDED(pFlipRotator->Initialize(m_pImage, static_cast<WICBitmapTransformOptions>(n))) {
28732875
IWICBitmap *pIBitmap;
2874-
if SUCCEEDED(m_pWICFactory->CreateBitmapFromSource(pFlipRotator, WICBitmapCacheOnDemand, &pIBitmap)) {
2876+
if SUCCEEDED(g_pWICFactory->CreateBitmapFromSource(pFlipRotator, WICBitmapCacheOnDemand, &pIBitmap)) {
28752877
ClearImage(bClearMeta);
28762878
m_pImage = pIBitmap;
28772879
}
@@ -2888,7 +2890,7 @@ STDMETHODIMP CteWICBitmap::Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, W
28882890
if (pVarResult) {
28892891
VariantInit(pVarResult);
28902892
}
2891-
if (!m_pWICFactory) {
2893+
if (!g_pWICFactory) {
28922894
return S_OK;
28932895
}
28942896
DISPID dispid = dispIdMember & TE_METHOD_MASK;
@@ -2933,7 +2935,7 @@ STDMETHODIMP CteWICBitmap::Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, W
29332935
}
29342936
IWICBitmap *pIBitmap;
29352937
if SUCCEEDED(punk->QueryInterface(IID_PPV_ARGS(&pIBitmap))) {
2936-
m_pWICFactory->CreateBitmapFromSource(pIBitmap, WICBitmapCacheOnLoad, &m_pImage);
2938+
g_pWICFactory->CreateBitmapFromSource(pIBitmap, WICBitmapCacheOnLoad, &m_pImage);
29372939
pIBitmap->Release();
29382940
teSetObject(pVarResult, GetBitmapObj());
29392941
return S_OK;
@@ -2948,7 +2950,7 @@ STDMETHODIMP CteWICBitmap::Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, W
29482950

29492951
case TE_METHOD + 2://FromHICON
29502952
if (nArg >= 0) {
2951-
m_pWICFactory->CreateBitmapFromHICON((HICON)GetPtrFromVariant(&pDispParams->rgvarg[nArg]), &m_pImage);
2953+
g_pWICFactory->CreateBitmapFromHICON((HICON)GetPtrFromVariant(&pDispParams->rgvarg[nArg]), &m_pImage);
29522954
teSetObject(pVarResult, GetBitmapObj());
29532955
}
29542956
return S_OK;
@@ -3102,7 +3104,7 @@ STDMETHODIMP CteWICBitmap::Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, W
31023104
case TE_METHOD + 90://Create
31033105
if (nArg >= 1) {
31043106
IWICBitmap *pIBitmap;
3105-
HRESULT hr = m_pWICFactory->CreateBitmap(GetIntFromVariant(&pDispParams->rgvarg[nArg]), GetIntFromVariant(&pDispParams->rgvarg[nArg - 1]),
3107+
HRESULT hr = g_pWICFactory->CreateBitmap(GetIntFromVariant(&pDispParams->rgvarg[nArg]), GetIntFromVariant(&pDispParams->rgvarg[nArg - 1]),
31063108
GUID_WICPixelFormat32bppBGRA, WICBitmapCacheOnLoad, &pIBitmap);
31073109
if SUCCEEDED(hr) {
31083110
ClearImage(FALSE);
@@ -3368,14 +3370,14 @@ STDMETHODIMP CteWICBitmap::Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, W
33683370
UINT w = GetIntFromVariant(&pDispParams->rgvarg[nArg]);
33693371
UINT h = GetIntFromVariant(&pDispParams->rgvarg[nArg - 1]);
33703372
IWICBitmapScaler *pScaler;
3371-
if SUCCEEDED(m_pWICFactory->CreateBitmapScaler(&pScaler)) {
3373+
if SUCCEEDED(g_pWICFactory->CreateBitmapScaler(&pScaler)) {
33723374
int mode = nArg >= 2 ? GetIntFromVariant(&pDispParams->rgvarg[nArg - 2]) : 4;
33733375
if (!g_bUpper10 && mode > 3) {
33743376
mode = 3;
33753377
}
33763378
if SUCCEEDED(pScaler->Initialize(m_pImage, w, h, WICBitmapInterpolationMode(mode))) {
33773379
CteWICBitmap *pWB = new CteWICBitmap();
3378-
m_pWICFactory->CreateBitmapFromSource(pScaler, WICBitmapCacheOnDemand, &pWB->m_pImage);
3380+
g_pWICFactory->CreateBitmapFromSource(pScaler, WICBitmapCacheOnDemand, &pWB->m_pImage);
33793381
SafeRelease(&pScaler);
33803382
teSetObjectRelease(pVarResult, pWB);
33813383
}
@@ -3412,7 +3414,7 @@ STDMETHODIMP CteWICBitmap::Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, W
34123414
liOffset.QuadPart = 0;
34133415
m_pStream->Seek(liOffset, SEEK_SET, NULL);
34143416
IWICBitmapDecoder *pDecoder;
3415-
if SUCCEEDED(m_pWICFactory->CreateDecoderFromStream(m_pStream, NULL, WICDecodeMetadataCacheOnDemand, &pDecoder)) {
3417+
if SUCCEEDED(g_pWICFactory->CreateDecoderFromStream(m_pStream, NULL, WICDecodeMetadataCacheOnDemand, &pDecoder)) {
34163418
IWICBitmapFrameDecode *pFrameDecode;
34173419
if SUCCEEDED(pDecoder->GetFrame(m_uFrame, &pFrameDecode)) {
34183420
IWICMetadataQueryReader *pMetadataQueryReader = NULL;
@@ -3504,7 +3506,7 @@ STDMETHODIMP CteWICBitmap::Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, W
35043506
IDispatch *pdisp;
35053507
if (nArg >= 2 && GetDispatch(&pDispParams->rgvarg[nArg - 2], &pdisp)) {
35063508
IEnumUnknown *pEnum;
3507-
HRESULT hr = m_pWICFactory->CreateComponentEnumerator(WICComponentType(GetIntFromVariant(&pDispParams->rgvarg[nArg])), WICComponentEnumerateDefault, &pEnum);
3509+
HRESULT hr = g_pWICFactory->CreateComponentEnumerator(WICComponentType(GetIntFromVariant(&pDispParams->rgvarg[nArg])), WICComponentEnumerateDefault, &pEnum);
35083510
if SUCCEEDED(hr) {
35093511
int nMode = GetIntFromVariant(&pDispParams->rgvarg[nArg - 1]);
35103512
ULONG cbActual = 0;

TE/objects.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,6 @@ class CteWICBitmap : public IDispatch
238238
VOID RotateFlip(int n, BOOL bClearMeta);
239239
private:
240240
IWICBitmap *m_pImage;
241-
IWICImagingFactory *m_pWICFactory;
242241
IStream *m_pStream;
243242
CLSID m_guidSrc;
244243
IDispatch *m_ppDispatch[Count_WICFunc];

0 commit comments

Comments
 (0)