Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DeepSkyStacker crashes in Wine, maybe due to missing TaskbarButton implementation in Wine and missing null pointer check in DSS. #136

Closed
bernhardu opened this issue Dec 9, 2021 · 2 comments
Assignees

Comments

@bernhardu
Copy link

Hello, I tried to do a little investigation about a Wine bug about DeepSkyStacker.
This might be related to the source lines below. I assume that in DSS recognises in Wine a Windows 7,
but m_taskbarList seems to get set to NULL as there seems to be not yet an implemtation of TaskbarButton in Wine,
which later gets called in OnProgressInit/OnProgressUpdate/OnProgressStop and therefore leads to a crash.
If this is right, this crash could be avoided by just checking m_taskbarList to be a valid pointer.

UINT WM_TASKBAR_BUTTON_CREATED = ::RegisterWindowMessage(_T("TaskbarButtonCreated"));

ON_REGISTERED_MESSAGE(WM_TASKBAR_BUTTON_CREATED, &CDeepStackerDlg::OnTaskbarButtonCreated)

LRESULT CDeepStackerDlg::OnTaskbarButtonCreated(WPARAM /*wParam*/, LPARAM /*lParam*/)
{
if (IsWindows7OrGreater())
{
HRESULT hr = ::CoCreateInstance(CLSID_TaskbarList, nullptr, CLSCTX_INPROC_SERVER, IID_ITaskbarList3, reinterpret_cast<void**>(&m_taskbarList));
if (FAILED(hr))
return 0;
hr = m_taskbarList->HrInit();

LRESULT CDeepStackerDlg::OnProgressInit(WPARAM /*wParam*/, LPARAM /*lParam*/)
{
if (IsWindows7OrGreater())
{
m_taskbarList->SetProgressState(m_hWnd, TBPF_NORMAL);

@perdrix52 perdrix52 self-assigned this Dec 9, 2021
@perdrix52 perdrix52 pinned this issue Dec 9, 2021
@Crazor
Copy link

Crazor commented May 9, 2022

Just wanting to let people that come across this bug know that as stated in the WineHQ link, changing the Wrapper from Windows 7 to Windows XP works just fine.

@perdrix52
Copy link
Member

WIne isn't supported

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants