[vlc-devel] commit: Win32: get rid of calls to GetVersion ( CoCreateInstance will fail anyway if the feature is not present) ( Geoffroy Couprie )
git version control
git at videolan.org
Sun Jan 24 20:05:46 CET 2010
vlc | branch: master | Geoffroy Couprie <geal at videolan.org> | Tue Jan 19 15:13:33 2010 +0100| [dcce03505b2f15d5e513db4636ee82984e487a8d] | committer: Geoffroy Couprie
Win32: get rid of calls to GetVersion (CoCreateInstance will fail anyway if the feature is not present)
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=dcce03505b2f15d5e513db4636ee82984e487a8d
---
modules/gui/qt4/components/interface_widgets.cpp | 33 ++++----
modules/gui/qt4/components/simple_preferences.cpp | 33 ++++-----
modules/gui/qt4/main_interface.cpp | 87 ++++++++++-----------
3 files changed, 71 insertions(+), 82 deletions(-)
diff --git a/modules/gui/qt4/components/interface_widgets.cpp b/modules/gui/qt4/components/interface_widgets.cpp
index 930b6de..50c1647 100644
--- a/modules/gui/qt4/components/interface_widgets.cpp
+++ b/modules/gui/qt4/components/interface_widgets.cpp
@@ -239,28 +239,25 @@ void VideoWidget::release( void )
#ifdef WIN32
/* Come back to default thumbnail for Windows 7 taskbar */
LPTASKBARLIST3 p_taskbl;
- OSVERSIONINFO winVer;
- winVer.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
- if( GetVersionEx(&winVer) && winVer.dwMajorVersion > 5 )
- {
- CoInitialize( 0 );
- if( S_OK == CoCreateInstance( &clsid_ITaskbarList,
- NULL, CLSCTX_INPROC_SERVER,
- &IID_ITaskbarList3,
- (void **)&p_taskbl) )
- {
- p_taskbl->vt->HrInit(p_taskbl);
+ CoInitialize( 0 );
+
+ if( S_OK == CoCreateInstance( &clsid_ITaskbarList,
+ NULL, CLSCTX_INPROC_SERVER,
+ &IID_ITaskbarList3,
+ (void **)&p_taskbl) )
+ {
+ p_taskbl->vt->HrInit(p_taskbl);
- HWND hroot = GetAncestor(reparentable->winId(),GA_ROOT);
+ HWND hroot = GetAncestor(reparentable->winId(),GA_ROOT);
- if (S_OK != p_taskbl->vt->SetThumbnailClip(p_taskbl, hroot, NULL))
- msg_Err(p_intf, "SetThumbNailClip failed");
- msg_Err(p_intf, "Releasing taskbar | root handle = %08x", hroot);
- p_taskbl->vt->Release(p_taskbl);
- }
- CoUninitialize();
+ if (S_OK != p_taskbl->vt->SetThumbnailClip(p_taskbl, hroot, NULL))
+ msg_Err(p_intf, "SetThumbNailClip failed");
+ msg_Err(p_intf, "Releasing taskbar | root handle = %08x", hroot);
+ p_taskbl->vt->Release(p_taskbl);
}
+ CoUninitialize();
+
#endif
delete reparentable;
diff --git a/modules/gui/qt4/components/simple_preferences.cpp b/modules/gui/qt4/components/simple_preferences.cpp
index e8542da..8927cf0 100644
--- a/modules/gui/qt4/components/simple_preferences.cpp
+++ b/modules/gui/qt4/components/simple_preferences.cpp
@@ -859,28 +859,23 @@ bool SPrefsPanel::addType( const char * psz_ext, QTreeWidgetItem* current,
void SPrefsPanel::assoDialog()
{
- OSVERSIONINFO winVer;
- winVer.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
- //Vista specific file associations
- if( GetVersionEx(&winVer) && winVer.dwMajorVersion > 5 )
- {
- LPAPPASSOCREGUI p_appassoc;
- CoInitialize( 0 );
-
- if( S_OK == CoCreateInstance( &clsid_IApplication2,
- NULL, CLSCTX_INPROC_SERVER,
- &IID_IApplicationAssociationRegistrationUI,
- (void **)&p_appassoc) )
- {
- if(S_OK == p_appassoc->vt->LaunchAdvancedAssociationUI(p_appassoc, L"VLC" ) )
- {
- CoUninitialize();
- return;
- }
- }
+ LPAPPASSOCREGUI p_appassoc;
+ CoInitialize( 0 );
+ if( S_OK == CoCreateInstance( &clsid_IApplication2,
+ NULL, CLSCTX_INPROC_SERVER,
+ &IID_IApplicationAssociationRegistrationUI,
+ (void **)&p_appassoc) )
+ {
+ if(S_OK == p_appassoc->vt->LaunchAdvancedAssociationUI(p_appassoc, L"VLC" ) )
+ {
CoUninitialize();
+ return;
+ }
}
+
+ CoUninitialize();
+
QDialog *d = new QDialog( this );
QGridLayout *assoLayout = new QGridLayout( d );
diff --git a/modules/gui/qt4/main_interface.cpp b/modules/gui/qt4/main_interface.cpp
index 8b6530c..763d760 100644
--- a/modules/gui/qt4/main_interface.cpp
+++ b/modules/gui/qt4/main_interface.cpp
@@ -519,16 +519,22 @@ void MainInterface::createTaskBarButtons()
FIXME:We need pretty buttons in 16x16 px that are handled correctly by masks in Qt
FIXME:the play button's picture doesn't changed to pause when clicked
*/
- OSVERSIONINFO winVer;
- winVer.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
- if( GetVersionEx(&winVer) && winVer.dwMajorVersion > 5 )
+
+ CoInitialize( 0 );
+
+ if( S_OK == CoCreateInstance( &clsid_ITaskbarList,
+ NULL, CLSCTX_INPROC_SERVER,
+ &IID_ITaskbarList3,
+ (void **)&p_taskbl) )
{
+ p_taskbl->vt->HrInit(p_taskbl);
+
if(himl = ImageList_Create( 15, //cx
- 18, //cy
- ILC_COLOR,//flags
- 4,//initial nb of images
- 0//nb of images that can be added
- ))
+ 18, //cy
+ ILC_COLOR,//flags
+ 4,//initial nb of images
+ 0//nb of images that can be added
+ ))
{
QPixmap img = QPixmap(":/toolbar/previous_b");
QPixmap img2 = QPixmap(":/toolbar/pause_b");
@@ -549,52 +555,43 @@ void MainInterface::createTaskBarButtons()
msg_Err( p_intf, "ImageList_Add failed" );
}
- CoInitialize( 0 );
-
- if( S_OK == CoCreateInstance( &clsid_ITaskbarList,
- NULL, CLSCTX_INPROC_SERVER,
- &IID_ITaskbarList3,
- (void **)&p_taskbl) )
+ // Define an array of two buttons. These buttons provide images through an
+ // image list and also provide tooltips.
+ DWORD dwMask = THB_BITMAP | THB_FLAGS;
+
+ THUMBBUTTON thbButtons[3];
+ thbButtons[0].dwMask = dwMask;
+ thbButtons[0].iId = 0;
+ thbButtons[0].iBitmap = 0;
+ thbButtons[0].dwFlags = THBF_HIDDEN;
+
+ thbButtons[1].dwMask = dwMask;
+ thbButtons[1].iId = 1;
+ thbButtons[1].iBitmap = 2;
+ thbButtons[1].dwFlags = THBF_HIDDEN;
+
+ thbButtons[2].dwMask = dwMask;
+ thbButtons[2].iId = 2;
+ thbButtons[2].iBitmap = 3;
+ thbButtons[2].dwFlags = THBF_HIDDEN;
+
+ HRESULT hr = p_taskbl->vt->ThumbBarSetImageList(p_taskbl, winId(), himl );
+ if(S_OK != hr)
+ msg_Err( p_intf, "ThumbBarSetImageList failed with error %08x", hr );
+ else
{
- p_taskbl->vt->HrInit(p_taskbl);
-
- // Define an array of two buttons. These buttons provide images through an
- // image list and also provide tooltips.
- DWORD dwMask = THB_BITMAP | THB_FLAGS;
-
- THUMBBUTTON thbButtons[3];
- thbButtons[0].dwMask = dwMask;
- thbButtons[0].iId = 0;
- thbButtons[0].iBitmap = 0;
- thbButtons[0].dwFlags = THBF_HIDDEN;
-
- thbButtons[1].dwMask = dwMask;
- thbButtons[1].iId = 1;
- thbButtons[1].iBitmap = 2;
- thbButtons[1].dwFlags = THBF_HIDDEN;
-
- thbButtons[2].dwMask = dwMask;
- thbButtons[2].iId = 2;
- thbButtons[2].iBitmap = 3;
- thbButtons[2].dwFlags = THBF_HIDDEN;
-
- HRESULT hr = p_taskbl->vt->ThumbBarSetImageList(p_taskbl, winId(), himl );
+ hr = p_taskbl->vt->ThumbBarAddButtons(p_taskbl, winId(), 3, thbButtons);
if(S_OK != hr)
- msg_Err( p_intf, "ThumbBarSetImageList failed with error %08x", hr );
- else
- {
- hr = p_taskbl->vt->ThumbBarAddButtons(p_taskbl, winId(), 3, thbButtons);
- if(S_OK != hr)
- msg_Err( p_intf, "ThumbBarAddButtons failed with error %08x", hr );
- }
- CONNECT( THEMIM->getIM(), statusChanged( int ), this, changeThumbbarButtons( int ) );
+ msg_Err( p_intf, "ThumbBarAddButtons failed with error %08x", hr );
}
+ CONNECT( THEMIM->getIM(), statusChanged( int ), this, changeThumbbarButtons( int ) );
}
else
{
himl = NULL;
p_taskbl = NULL;
}
+
}
bool MainInterface::winEvent ( MSG * msg, long * result )
More information about the vlc-devel
mailing list