Refactor x event to use g_source_add_unix_fd
According to the glib docs we should use g_source_add_unix_fd rather than g_source_add_poll. Additionally, this helps us with memory management since we don't have to handle the allocation of dpy_pollfd.
This commit is contained in:
		
							parent
							
								
									adc075bf2c
								
							
						
					
					
						commit
						1fe80a5db8
					
				| @ -467,13 +467,6 @@ static void x_set_wm(Window win) | ||||
| 
 | ||||
| GSource* x_win_reg_source(window_x11 *win) | ||||
| { | ||||
|         GPollFD *dpy_pollfd = g_malloc0(sizeof(dpy_pollfd)); | ||||
| 
 | ||||
|         *dpy_pollfd = (GPollFD) { | ||||
|                 xctx.dpy->fd, | ||||
|                 G_IO_IN | G_IO_HUP | G_IO_ERR, 0 | ||||
|         }; | ||||
| 
 | ||||
|         // Static is necessary here because glib keeps the pointer and we need
 | ||||
|         // to keep the reference alive.
 | ||||
|         static GSourceFuncs xsrc_fn = { | ||||
| @ -491,7 +484,7 @@ GSource* x_win_reg_source(window_x11 *win) | ||||
|         xsrc->dpy = xctx.dpy; | ||||
|         xsrc->w = win->xwin; | ||||
| 
 | ||||
|         g_source_add_poll((GSource*) xsrc_fn, dpy_pollfd); | ||||
|         g_source_add_unix_fd((GSource*) xsrc, xctx.dpy->fd, G_IO_IN | G_IO_HUP | G_IO_ERR); | ||||
| 
 | ||||
|         g_source_attach((GSource*) xsrc, NULL); | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Nikos Tsipinakis
						Nikos Tsipinakis