Fix to pixmap mask handling. (gtk-fortier-971122-0.patch)
-owt
This commit is contained in:
		| @ -429,15 +429,21 @@ gdk_pixmap_create_from_xpm (GdkWindow  *window, | |||||||
| 	      gc = NULL; | 	      gc = NULL; | ||||||
| 	      if (mask) | 	      if (mask) | ||||||
| 		{ | 		{ | ||||||
|  | 		  /* The pixmap mask is just a bits pattern. | ||||||
|  | 		   * Color 0 is used for background and 1 for foreground. | ||||||
|  | 		   * We don't care about the colormap, we just need 0 and 1. | ||||||
|  | 		   */ | ||||||
|  | 		  GdkColor mask_pattern; | ||||||
|  | 		   | ||||||
| 		  *mask = gdk_pixmap_new (window, width, height, 1); | 		  *mask = gdk_pixmap_new (window, width, height, 1); | ||||||
| 		  gc = gdk_gc_new (*mask); | 		  gc = gdk_gc_new (*mask); | ||||||
|  | 		   | ||||||
| 		  gdk_color_black (colormap, &tmp_color); | 		  mask_pattern.pixel = 0; | ||||||
| 		  gdk_gc_set_foreground (gc, &tmp_color); | 		  gdk_gc_set_foreground (gc, &mask_pattern); | ||||||
| 		  gdk_draw_rectangle (*mask, gc, TRUE, 0, 0, -1, -1); | 		  gdk_draw_rectangle (*mask, gc, TRUE, 0, 0, -1, -1); | ||||||
|  | 		   | ||||||
| 		  gdk_color_white (colormap, &tmp_color); | 		  mask_pattern.pixel = 1; | ||||||
| 		  gdk_gc_set_foreground (gc, &tmp_color); | 		  gdk_gc_set_foreground (gc, &mask_pattern); | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
|               for (ycnt = 0; ycnt < height; ycnt++) |               for (ycnt = 0; ycnt < height; ycnt++) | ||||||
| @ -573,15 +579,21 @@ gdk_pixmap_create_from_xpm_d (GdkWindow  *window, | |||||||
|   gc = NULL; |   gc = NULL; | ||||||
|   if (mask) |   if (mask) | ||||||
|     { |     { | ||||||
|  |       /* The pixmap mask is just a bits pattern. | ||||||
|  |        * Color 0 is used for background and 1 for foreground. | ||||||
|  |        * We don't care about the colormap, we just need 0 and 1. | ||||||
|  |        */ | ||||||
|  |       GdkColor mask_pattern; | ||||||
|  |  | ||||||
|       *mask = gdk_pixmap_new (window, width, height, 1); |       *mask = gdk_pixmap_new (window, width, height, 1); | ||||||
|       gc = gdk_gc_new (*mask); |       gc = gdk_gc_new (*mask); | ||||||
|  |  | ||||||
|       gdk_color_black (colormap, &tmp_color); |       mask_pattern.pixel = 0; | ||||||
|       gdk_gc_set_foreground (gc, &tmp_color); |       gdk_gc_set_foreground (gc, &mask_pattern); | ||||||
|       gdk_draw_rectangle (*mask, gc, TRUE, 0, 0, -1, -1); |       gdk_draw_rectangle (*mask, gc, TRUE, 0, 0, -1, -1); | ||||||
|  |  | ||||||
|       gdk_color_white (colormap, &tmp_color); |       mask_pattern.pixel = 1; | ||||||
|       gdk_gc_set_foreground (gc, &tmp_color); |       gdk_gc_set_foreground (gc, &mask_pattern); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|   for (ycnt = 0; ycnt < height; ycnt++) |   for (ycnt = 0; ycnt < height; ycnt++) | ||||||
|  | |||||||
| @ -429,15 +429,21 @@ gdk_pixmap_create_from_xpm (GdkWindow  *window, | |||||||
| 	      gc = NULL; | 	      gc = NULL; | ||||||
| 	      if (mask) | 	      if (mask) | ||||||
| 		{ | 		{ | ||||||
|  | 		  /* The pixmap mask is just a bits pattern. | ||||||
|  | 		   * Color 0 is used for background and 1 for foreground. | ||||||
|  | 		   * We don't care about the colormap, we just need 0 and 1. | ||||||
|  | 		   */ | ||||||
|  | 		  GdkColor mask_pattern; | ||||||
|  | 		   | ||||||
| 		  *mask = gdk_pixmap_new (window, width, height, 1); | 		  *mask = gdk_pixmap_new (window, width, height, 1); | ||||||
| 		  gc = gdk_gc_new (*mask); | 		  gc = gdk_gc_new (*mask); | ||||||
|  | 		   | ||||||
| 		  gdk_color_black (colormap, &tmp_color); | 		  mask_pattern.pixel = 0; | ||||||
| 		  gdk_gc_set_foreground (gc, &tmp_color); | 		  gdk_gc_set_foreground (gc, &mask_pattern); | ||||||
| 		  gdk_draw_rectangle (*mask, gc, TRUE, 0, 0, -1, -1); | 		  gdk_draw_rectangle (*mask, gc, TRUE, 0, 0, -1, -1); | ||||||
|  | 		   | ||||||
| 		  gdk_color_white (colormap, &tmp_color); | 		  mask_pattern.pixel = 1; | ||||||
| 		  gdk_gc_set_foreground (gc, &tmp_color); | 		  gdk_gc_set_foreground (gc, &mask_pattern); | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
|               for (ycnt = 0; ycnt < height; ycnt++) |               for (ycnt = 0; ycnt < height; ycnt++) | ||||||
| @ -573,15 +579,21 @@ gdk_pixmap_create_from_xpm_d (GdkWindow  *window, | |||||||
|   gc = NULL; |   gc = NULL; | ||||||
|   if (mask) |   if (mask) | ||||||
|     { |     { | ||||||
|  |       /* The pixmap mask is just a bits pattern. | ||||||
|  |        * Color 0 is used for background and 1 for foreground. | ||||||
|  |        * We don't care about the colormap, we just need 0 and 1. | ||||||
|  |        */ | ||||||
|  |       GdkColor mask_pattern; | ||||||
|  |  | ||||||
|       *mask = gdk_pixmap_new (window, width, height, 1); |       *mask = gdk_pixmap_new (window, width, height, 1); | ||||||
|       gc = gdk_gc_new (*mask); |       gc = gdk_gc_new (*mask); | ||||||
|  |  | ||||||
|       gdk_color_black (colormap, &tmp_color); |       mask_pattern.pixel = 0; | ||||||
|       gdk_gc_set_foreground (gc, &tmp_color); |       gdk_gc_set_foreground (gc, &mask_pattern); | ||||||
|       gdk_draw_rectangle (*mask, gc, TRUE, 0, 0, -1, -1); |       gdk_draw_rectangle (*mask, gc, TRUE, 0, 0, -1, -1); | ||||||
|  |  | ||||||
|       gdk_color_white (colormap, &tmp_color); |       mask_pattern.pixel = 1; | ||||||
|       gdk_gc_set_foreground (gc, &tmp_color); |       gdk_gc_set_foreground (gc, &mask_pattern); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|   for (ycnt = 0; ycnt < height; ycnt++) |   for (ycnt = 0; ycnt < height; ycnt++) | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 Owen Taylor
					Owen Taylor