Addressing various memory leak issues ref. https://github.com/bakkeby/patches/issues/30
This commit is contained in:
		
							
								
								
									
										5
									
								
								dwm.c
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								dwm.c
									
									
									
									
									
								
							| @@ -1183,6 +1183,8 @@ cleanup(void) | |||||||
| 		cleanupmon(mons); | 		cleanupmon(mons); | ||||||
| 	#if BAR_SYSTRAY_PATCH | 	#if BAR_SYSTRAY_PATCH | ||||||
| 	if (showsystray && systray) { | 	if (showsystray && systray) { | ||||||
|  | 		while (systray->icons) | ||||||
|  | 			removesystrayicon(systray->icons); | ||||||
| 		if (systray->win) { | 		if (systray->win) { | ||||||
| 			XUnmapWindow(dpy, systray->win); | 			XUnmapWindow(dpy, systray->win); | ||||||
| 			XDestroyWindow(dpy, systray->win); | 			XDestroyWindow(dpy, systray->win); | ||||||
| @@ -1241,6 +1243,9 @@ cleanupmon(Monitor *mon) | |||||||
| 	XUnmapWindow(dpy, mon->tabwin); | 	XUnmapWindow(dpy, mon->tabwin); | ||||||
| 	XDestroyWindow(dpy, mon->tabwin); | 	XDestroyWindow(dpy, mon->tabwin); | ||||||
| 	#endif // TAB_PATCH | 	#endif // TAB_PATCH | ||||||
|  | 	#if PERTAG_PATCH | ||||||
|  | 	free(mon->pertag); | ||||||
|  | 	#endif // PERTAG_PATCH | ||||||
| 	free(mon); | 	free(mon); | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -101,6 +101,8 @@ loadxrdb() | |||||||
| 				XRDB_LOAD_COLOR("color14", termcol14); | 				XRDB_LOAD_COLOR("color14", termcol14); | ||||||
| 				XRDB_LOAD_COLOR("color15", termcol15); | 				XRDB_LOAD_COLOR("color15", termcol15); | ||||||
| 				#endif // BAR_STATUS2D_XRDB_TERMCOLORS_PATCH | 				#endif // BAR_STATUS2D_XRDB_TERMCOLORS_PATCH | ||||||
|  |  | ||||||
|  | 				XrmDestroyDatabase(xrdb); | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user