diff options
Diffstat (limited to 'main/gnome-system-monitor/003-replace-old-drawing.patch')
-rw-r--r-- | main/gnome-system-monitor/003-replace-old-drawing.patch | 115 |
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 |