aboutsummaryrefslogtreecommitdiffstats
path: root/main/gnome-system-monitor/003-replace-old-drawing.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/gnome-system-monitor/003-replace-old-drawing.patch')
-rw-r--r--main/gnome-system-monitor/003-replace-old-drawing.patch115
1 files changed, 115 insertions, 0 deletions
diff --git a/main/gnome-system-monitor/003-replace-old-drawing.patch b/main/gnome-system-monitor/003-replace-old-drawing.patch
new file mode 100644
index 0000000000..eb7b7615d7
--- /dev/null
+++ b/main/gnome-system-monitor/003-replace-old-drawing.patch
@@ -0,0 +1,115 @@
+From 90d0162efa3d5196a96b07cf8eff8351c322f7f4 Mon Sep 17 00:00:00 2001
+From: Chris Kühl <chrisk@openismus.com>
+Date: Wed, 26 Jan 2011 10:51:50 +0000
+Subject: Replace old GDK drawing API
+
+Patch from Sergey Nizovtsev.
+See https://bugzilla.gnome.org/show_bug.cgi?id=627568
+---
+diff --git a/src/load-graph.cpp b/src/load-graph.cpp
+index 79700d4..3cf8683 100644
+--- a/src/load-graph.cpp
++++ b/src/load-graph.cpp
+@@ -87,7 +87,7 @@ void draw_background(LoadGraph *g) {
+ allocation.height,
+ -1);
+ cr = gdk_cairo_create (g->background);
+-
++
+ // set the background colour
+ GtkStyle *style = gtk_widget_get_style (ProcData::get_instance()->notebook);
+ gdk_cairo_set_source_color (cr, &style->bg[GTK_STATE_NORMAL]);
+@@ -95,13 +95,13 @@ void draw_background(LoadGraph *g) {
+
+ /* draw frame */
+ cairo_translate (cr, FRAME_WIDTH, FRAME_WIDTH);
+-
++
+ /* Draw background rectangle */
+ cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);
+ cairo_rectangle (cr, g->rmargin + g->indent, 0,
+ g->draw_width - g->rmargin - g->indent, g->real_draw_height);
+ cairo_fill(cr);
+-
++
+ cairo_set_line_width (cr, 1.0);
+ cairo_set_dash (cr, dash, 2, 0);
+ cairo_set_font_size (cr, g->fontsize);
+@@ -191,10 +191,6 @@ load_graph_configure (GtkWidget *widget,
+
+ g->clear_background();
+
+- if (g->gc == NULL) {
+- g->gc = gdk_gc_new (GDK_DRAWABLE (gtk_widget_get_window (widget)));
+- }
+-
+ load_graph_draw (g);
+
+ return TRUE;
+@@ -212,19 +208,14 @@ load_graph_expose (GtkWidget *widget,
+ guint i, j;
+ gdouble sample_width, x_offset;
+
++ window = gtk_widget_get_window (g->disp);
++ gtk_widget_get_allocation (g->disp, &allocation);
++
+ if (g->background == NULL) {
+ draw_background(g);
++ gdk_window_set_back_pixmap (window, g->background, FALSE);
+ }
+
+- window = gtk_widget_get_window (g->disp);
+- gtk_widget_get_allocation (g->disp, &allocation);
+- gdk_draw_drawable (window,
+- g->gc,
+- g->background,
+- 0, 0, 0, 0,
+- allocation.width,
+- allocation.height);
+-
+ /* Number of pixels wide for one graph point */
+ sample_width = (float)(g->draw_width - g->rmargin - g->indent) / (float)LoadGraph::NUM_POINTS;
+ /* General offset */
+@@ -252,7 +243,7 @@ load_graph_expose (GtkWidget *widget,
+ for (i = 1; i < LoadGraph::NUM_POINTS; ++i) {
+ if (g->data[i][j] == -1.0f)
+ continue;
+- cairo_curve_to (cr,
++ cairo_curve_to (cr,
+ x_offset - ((i - 0.5f) * g->graph_delx),
+ (1.0f - g->data[i-1][j]) * g->real_draw_height + 3.5f,
+ x_offset - ((i - 0.5f) * g->graph_delx),
+@@ -619,7 +610,6 @@ LoadGraph::LoadGraph(guint type)
+ graph_buffer_offset(0),
+ main_widget(NULL),
+ disp(NULL),
+- gc(NULL),
+ background(NULL),
+ timer_index(0),
+ draw(FALSE),
+@@ -676,9 +666,9 @@ LoadGraph::LoadGraph(guint type)
+ case LOAD_GRAPH_MEM:
+ g->colors[0] = ProcData::get_instance()->config.mem_color;
+ g->colors[1] = ProcData::get_instance()->config.swap_color;
+- g->mem_color_picker = gsm_color_button_new (&g->colors[0],
++ g->mem_color_picker = gsm_color_button_new (&g->colors[0],
+ GSMCP_TYPE_PIE);
+- g->swap_color_picker = gsm_color_button_new (&g->colors[1],
++ g->swap_color_picker = gsm_color_button_new (&g->colors[1],
+ GSMCP_TYPE_PIE);
+ break;
+ case LOAD_GRAPH_NET:
+diff --git a/src/load-graph.h b/src/load-graph.h
+index 6111c78..2dc2b10 100644
+--- a/src/load-graph.h
++++ b/src/load-graph.h
+@@ -66,7 +66,6 @@ struct LoadGraph {
+ GtkWidget *main_widget;
+ GtkWidget *disp;
+
+- GdkGC *gc;
+ GdkDrawable *background;
+
+ guint timer_index;
+--
+cgit v0.9