mirror of
				https://github.com/Tha14/toxic.git
				synced 2025-10-31 07:26:52 +01:00 
			
		
		
		
	Prevented user from manually closing video windows
This commit is contained in:
		| @@ -295,6 +295,7 @@ void callstate_cb(ToxAV *av, uint32_t friend_number, uint32_t state, void *user_ | |||||||
|                 callback_call_ended(friend_number); |                 callback_call_ended(friend_number); | ||||||
|  |  | ||||||
| #ifdef VIDEO | #ifdef VIDEO | ||||||
|  |             callback_recv_video_end(friend_number); | ||||||
|             callback_video_end(friend_number); |             callback_video_end(friend_number); | ||||||
| #endif /* VIDEO */ | #endif /* VIDEO */ | ||||||
|  |  | ||||||
|   | |||||||
| @@ -120,10 +120,7 @@ void write_video_device_callback(uint32_t friend_number, uint16_t width, uint16_ | |||||||
|                                            int32_t ystride, int32_t ustride, int32_t vstride, |                                            int32_t ystride, int32_t ustride, int32_t vstride, | ||||||
|                                            void *user_data) |                                            void *user_data) | ||||||
| { | { | ||||||
|     if ( write_video_out(width, height, y, u, v, ystride, ustride, vstride, user_data) == vde_DeviceNotActive ) { |     write_video_out(width, height, y, u, v, ystride, ustride, vstride, user_data); | ||||||
|         //callback_recv_video_starting(friend_number); |  | ||||||
|         return; |  | ||||||
|     } |  | ||||||
| } | } | ||||||
|  |  | ||||||
| int start_video_transmission(ToxWindow *self, ToxAV *av, Call *call) | int start_video_transmission(ToxWindow *self, ToxAV *av, Call *call) | ||||||
|   | |||||||
| @@ -462,6 +462,10 @@ VideoDeviceError open_video_device(VideoDeviceType type, int32_t selection, uint | |||||||
|             return vde_FailedStart; |             return vde_FailedStart; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |         /* Disable user from manually closing the X11 window */ | ||||||
|  |         Atom wm_delete_window = XInternAtom(device->x_display, "WM_DELETE_WINDOW", false); | ||||||
|  |         XSetWMProtocols(device->x_display, device->x_window, &wm_delete_window, 1); | ||||||
|  |  | ||||||
|         XMapWindow(device->x_display, device->x_window); |         XMapWindow(device->x_display, device->x_window); | ||||||
|         XClearWindow(device->x_display, device->x_window); |         XClearWindow(device->x_display, device->x_window); | ||||||
|         XMapRaised(device->x_display, device->x_window); |         XMapRaised(device->x_display, device->x_window); | ||||||
| @@ -497,6 +501,10 @@ VideoDeviceError open_video_device(VideoDeviceType type, int32_t selection, uint | |||||||
|             return vde_FailedStart; |             return vde_FailedStart; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |         /* Disable user from manually closing the X11 window */ | ||||||
|  |         Atom wm_delete_window = XInternAtom(device->x_display, "WM_DELETE_WINDOW", false); | ||||||
|  |         XSetWMProtocols(device->x_display, device->x_window, &wm_delete_window, 1); | ||||||
|  |  | ||||||
|         XMapWindow(device->x_display, device->x_window); |         XMapWindow(device->x_display, device->x_window); | ||||||
|         XClearWindow(device->x_display, device->x_window); |         XClearWindow(device->x_display, device->x_window); | ||||||
|         XMapRaised(device->x_display, device->x_window); |         XMapRaised(device->x_display, device->x_window); | ||||||
| @@ -694,7 +702,6 @@ VideoDeviceError close_video_device(VideoDeviceType type, uint32_t device_idx) | |||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|             close(device->fd); |             close(device->fd); | ||||||
|             vpx_img_free(&device->input); |  | ||||||
|             XDestroyWindow(device->x_display, device->x_window); |             XDestroyWindow(device->x_display, device->x_window); | ||||||
|             XFlush(device->x_display); |             XFlush(device->x_display); | ||||||
|             XCloseDisplay(device->x_display); |             XCloseDisplay(device->x_display); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user