@@ -394,7 +394,7 @@ pub mod linux_device_change {
394394 // `socket`.
395395 let socket_fd =
396396 unsafe { BorrowedFd :: borrow_raw ( socket. as_raw_fd ( ) ) } ;
397- let fds = PollFd :: new ( & socket_fd, PollFlags :: POLLIN ) ;
397+ let fds = PollFd :: new ( socket_fd, PollFlags :: POLLIN ) ;
398398 loop {
399399 ppoll ( & mut [ fds] , None , None ) ?;
400400
@@ -570,7 +570,7 @@ mod win_default_device_callback {
570570 Win32 :: {
571571 Media :: Audio :: {
572572 EDataFlow , ERole , IMMDeviceEnumerator , IMMNotificationClient ,
573- IMMNotificationClient_Impl , MMDeviceEnumerator ,
573+ IMMNotificationClient_Impl , MMDeviceEnumerator , DEVICE_STATE ,
574574 } ,
575575 System :: Com :: { CoCreateInstance , CLSCTX_ALL } ,
576576 UI :: Shell :: PropertiesSystem :: PROPERTYKEY ,
@@ -593,8 +593,12 @@ mod win_default_device_callback {
593593 struct AudioEndpointCallback ;
594594
595595 #[ allow( non_snake_case) ]
596- impl IMMNotificationClient_Impl for AudioEndpointCallback {
597- fn OnDeviceStateChanged ( & self , _: & PCWSTR , _: u32 ) -> Result < ( ) > {
596+ impl IMMNotificationClient_Impl for AudioEndpointCallback_Impl {
597+ fn OnDeviceStateChanged (
598+ & self ,
599+ _: & PCWSTR ,
600+ _: DEVICE_STATE ,
601+ ) -> Result < ( ) > {
598602 Ok ( ( ) )
599603 }
600604
@@ -741,11 +745,19 @@ pub unsafe fn init() {
741745 0 ,
742746 None ,
743747 None ,
744- HMODULE ( 0 ) ,
748+ HMODULE ( ptr :: null_mut ( ) ) ,
745749 None ,
746750 ) ;
747751
748- ShowWindow ( hwnd, SW_HIDE ) ;
752+ let Ok ( hwnd) = hwnd else {
753+ log:: error!(
754+ "Failed to create window so on device change listener is \
755+ disabled",
756+ ) ;
757+ return ;
758+ } ;
759+
760+ _ = ShowWindow ( hwnd, SW_HIDE ) ;
749761
750762 let mut msg: MSG = mem:: zeroed ( ) ;
751763
@@ -754,7 +766,7 @@ pub unsafe fn init() {
754766 break ;
755767 }
756768
757- TranslateMessage ( & msg) ;
769+ _ = TranslateMessage ( & msg) ;
758770 DispatchMessageW ( & msg) ;
759771 }
760772 } ) ;
0 commit comments