5 Commits

Author SHA1 Message Date
Xenhat
77da0614ac Add information about my clean script 2018-07-05 18:57:33 -04:00
ge0rdi
9c6fadb828 Fix for recent Windows Insider builds (#11) (#33)
CMenuContainer object was not destroyed when Start Menu window was closed.

It was referenced by IFrameworkInputPane::AdviseWithHWND call (to be able
to receive input pane notifications). The problem was that dereferencing
(IFrameworkInputPane::Unadvise) was called from CMenuContainer destructor
that is called only when object's refcount goes to zero.

In previous Windows versions it somehow worked, because for some reason
CMenuContainer object was no longer referenced when its window was
destroyed.

Apparently there was some change in IFrameworkInputPane handling in recent
Windows builds (starting with 17692).

To fix the issue we have to call IFrameworkInputPane::Unadvise() when
CMenuContainer's window is about to be destroyed.
2018-07-05 18:50:50 -04:00
Xenhat
8a5ad15317 Update source code version to 4.4.102 to split from Classic Shell versions (#29) 2018-07-01 18:36:45 -04:00
coddec
ef2d92bb84 Add pre-release (development/beta release badge) 2018-06-29 23:31:56 +10:00
ge0rdi
cf2f874896 Fix ClassicStartMenu.rc 2018-06-29 14:53:23 +02:00
6 changed files with 29 additions and 26 deletions

View File

@@ -54,10 +54,10 @@ END
// Solution loading fail-safe
#ifndef _PRODUCT_VERSION
#define _PRODUCT_VERSION 4.3.2
#define _PRODUCT_VERSION 4.4.102
#endif
#ifndef _PRODUCT_VERSION_STR
#define _PRODUCT_VERSION_STR "4.3.2"
#define _PRODUCT_VERSION_STR "4.4.102"
#endif
VS_VERSION_INFO VERSIONINFO
@@ -116,5 +116,3 @@ IDI_APPICON ICON "..\\ClassicStartSetup\\ClassicS
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
_PRODUCT_VERSOIN

View File

@@ -770,9 +770,6 @@ CMenuContainer::~CMenuContainer( void )
if (m_SearchIcons)
DeleteObject(m_SearchIcons);
if (m_pProgramsTree) m_pProgramsTree->Release();
if (s_pFrameworkInputPane && m_InputCookie)
s_pFrameworkInputPane->Unadvise(m_InputCookie);
}
void CMenuContainer::AddFirstFolder( IShellItem *pFolder, std::vector<MenuItem> &items, int options )
@@ -6215,6 +6212,10 @@ LRESULT CMenuContainer::OnDestroy( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL
CloseThemeData(m_ScrollTheme);
m_ScrollTheme=NULL;
}
if (s_pFrameworkInputPane && m_InputCookie)
s_pFrameworkInputPane->Unadvise(m_InputCookie);
return 0;
}

View File

@@ -7,7 +7,7 @@ set PATH=C:\Program Files\7-Zip\;C:\Program Files (x86)\HTML Help Workshop;C:\Pr
rem git clean -dfx
@rem Default version
@set CS_VERSION=4.3.2
@set CS_VERSION=4.4.102
@if defined APPVEYOR_BUILD_VERSION (
@set CS_VERSION=%APPVEYOR_BUILD_VERSION%

View File

@@ -59,4 +59,4 @@ https://github.com/passionate-coder/Classic-Start/releases
---
[![GitHub Release](https://img.shields.io/github/release/passionate-coder/Classic-Start.svg)](https://github.com/passionate-coder/Classic-Start/releases) [![Build status](https://ci.appveyor.com/api/projects/status/dib45bf3snylbydy/branch/master?svg=true)](https://ci.appveyor.com/project/passionate-coder/classic-start/branch/master) [![GitQ](https://gitq.com/badge.svg)](https://gitq.com/passionate-coder/Classic-Start) [![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/passionate-coder/Disc-Chitchat)
[![GitHub Release](https://img.shields.io/github/release/passionate-coder/Classic-Start.svg)](https://github.com/passionate-coder/Classic-Start/releases) [![GitHub Pre-Release](https://img.shields.io/github/release/passionate-coder/Classic-Start/all.svg)](https://github.com/passionate-coder/Classic-Start/releases) [![Build status](https://ci.appveyor.com/api/projects/status/dib45bf3snylbydy/branch/master?svg=true)](https://ci.appveyor.com/project/passionate-coder/classic-start/branch/master) [![GitQ](https://gitq.com/badge.svg)](https://gitq.com/passionate-coder/Classic-Start) [![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/passionate-coder/Disc-Chitchat)

17
clean
View File

@@ -1,17 +0,0 @@
git rm -f *..lastbuildstate
git rm -f *.dll
git rm -f *.exe
git rm -f *.exp
git rm -f *.iobj
git rm -f *.lastbuildstate
git rm -f *.lib
git rm -f *.log
git rm -f *.ltlog
git rm -f *.ipdb
git rm -f *.obj
git rm -f *.pch
git rm -f *.pdb
git rm -f *.res
git rm -f *.tlog
git rm -f *.adml
git rm -f *.admx

21
clean.cmd Normal file
View File

@@ -0,0 +1,21 @@
REM :: This script will forcefully clean the repository of residual cruft from the build process in the offchance I have forgotten
REM :: to include something. It is not perfect but it appears to do the job.
REM :: This is an alternative to 'git reset --hard HEAD' which would destroy local changes.
REM :: - Xenhat
git rm -f *..lastbuildstate
git rm -f *.dll
git rm -f *.exe
git rm -f *.exp
git rm -f *.iobj
git rm -f *.lastbuildstate
git rm -f *.lib
git rm -f *.log
git rm -f *.ltlog
git rm -f *.ipdb
git rm -f *.obj
git rm -f *.pch
git rm -f *.pdb
git rm -f *.res
git rm -f *.tlog
git rm -f *.adml
git rm -f *.admx