Я сделал патч, кому.
--- gpaint-0.3.3/src/brush.c 2007-09-01 22:59:29.000000000 +0300
+++ gpaint-0.3.3111/src/brush.c 2013-11-03 09:40:24.191907810 +0200
@@ -88,6 +88,8 @@
GPAINT_BRUSH(eraser)->spacing = 3.0;
GPAINT_BRUSH(eraser)->size = 15;
GPAINT_BRUSH(eraser)->distance = 0;
+//==123
+//printf("Erase1\n");
return GPAINT_TOOL(eraser);
}
@@ -104,6 +106,7 @@
g_assert(!GPAINT_ERASER(tool)->fgcolor);
GPAINT_ERASER(tool)->fgcolor = gdk_color_copy(&(gcvalues.foreground));
gdk_gc_set_foreground(tool->drawing->gc, &(gcvalues.background));
+//printf("Erase2\n");
}
/*
@@ -115,6 +118,7 @@
gdk_gc_set_foreground(tool->drawing->gc, GPAINT_ERASER(tool)->fgcolor);
gdk_color_free(GPAINT_ERASER(tool)->fgcolor);
GPAINT_ERASER(tool)->fgcolor = NULL;
+//printf("Erase3\n");
}
/*
@@ -123,6 +127,7 @@
static void
eraser_draw(gpaint_brush *brush, int x, int y)
{
+ GtkStyle *stylea;
int radius = brush->size / 2;
x -= radius;
y -= radius;
@@ -132,9 +137,14 @@
TRUE, x, y, brush->size, brush->size);
gdk_draw_rectangle(
GPAINT_TOOL(brush)->drawing->backing_pixmap,
- GPAINT_TOOL(brush)->drawing->gc,
+ GPAINT_TOOL(brush)->drawing->top_level->style->bg_gc[0],
+// GPAINT_TOOL(brush)->drawing->gc,
+//GPAINT_TOOL(brush)->stylea->bg_gc[0],
+//"#FFFFFF",
+//GPAINT_TOOL(brush)->drawing->top_level->style->black_gc,
TRUE, x, y, brush->size, brush->size);
drawing_modified(GPAINT_TOOL(brush)->drawing);
+//printf("Erase4\n");
}
/*
@@ -156,6 +166,7 @@
eraser_set_background_color(eraser, (GdkColor*)data);
handled = TRUE;
}
+//printf("Erase5\n");
return handled;
}
@@ -169,6 +180,7 @@
g_assert(eraser->fgcolor);
gdk_color_free(eraser->fgcolor);
eraser->fgcolor = gdk_color_copy(color);
+//printf("Erase6\n");
}
/*
@@ -181,6 +193,7 @@
debug_fn();
gdk_gc_set_background(tool->drawing->gc, color);
gdk_gc_set_foreground(tool->drawing->gc, color);
+//printf("Erase7\n");
}
/*
@@ -304,7 +317,7 @@
dx = (double)(x - brush->drag.x);
dy = (double)(y - brush->drag.y);
moved = sqrt(dx*dx + dy*dy);
-
+//printf("x = %d - y =%d\n",x,y);
initial = brush->distance;
final = initial + moved;
--- gpaint-0.3.3/src/callbacks.h 2013-12-09 20:29:23.000000000 +0200
+++ gpaint-0.3.3111/src/callbacks.h 2013-11-01 12:31:02.543408009 +0200
@@ -22,6 +22,11 @@
#include "pixmaps.h"
void
+on_mainwindow_threads_init (GtkWidget *widget,
+ gpointer user_data);
+
+
+void
on_mainwindow_realize (GtkWidget *widget,
gpointer user_data);
--- gpaint-0.3.3/src/canvas.c 2007-09-05 12:10:40.000000000 +0300
+++ gpaint-0.3.3111/src/canvas.c 2013-11-03 06:17:25.215415506 +0200
@@ -23,7 +23,8 @@
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
-
+#include <pwd.h>
+#include <time.h>
#include <stdlib.h>
#include <string.h>
#include <gtk/gtk.h>
@@ -37,9 +38,19 @@
#include "selection.h"
#include "text.h"
#include "global.h"
+//#include <pthread.h>
+//#include <iostream.h>
+//using namespace std;
+#include <fcntl.h>
+#include <errno.h>
+#include <sys/types.h>
+#include <unistd.h>
+//struct passwd *pw = getpwuid(getuid());
+//===================
+//typedef struct DATA { GTimer *timer; GtkWidget *window; int w, h; }
+//==================
#define GPAINT_CLIPBOARD_KEY "gpaint-clipboard"
-
/* Single clipboard to share selections between canvases. */
static gpaint_clipboard *clipboard = NULL;
@@ -55,9 +66,49 @@
#define GPAINT_IS_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GPAINT_TYPE_CANVAS))
#define GPAINT_IS_CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GPAINT_TYPE_CANVAS))
#define GPAINT_CANVAS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GPAINT_TYPE_CANVAS, gpaint_canvas_class))
-
+#define BUF_SIZE 8192
GType gpaint_canvas_get_type (void);
+char*
+time1(char* t1)
+{
+static char outstr[255];
+ time_t t;
+ struct tm *tmp;
+ t = time(NULL);
+ tmp = localtime(&t);
+strftime(outstr, sizeof(outstr), t1, tmp);
+// printf("Result string is \"%s\"\n", outstr);
+return outstr;
+}
+
+void* filecopy(char* ifp, char* ofp)
+{
+int input_fd, output_fd;
+ ssize_t ret_in, ret_out;
+ char buffer[BUF_SIZE];
+input_fd = open (ifp, O_RDONLY);
+ if (input_fd == -1) {
+ perror ("open");
+ return 2;
+ }
+ output_fd = open(ofp, O_WRONLY | O_CREAT, 0644);
+ if(output_fd == -1){
+ perror("open");
+ return 3;
+ }
+ while((ret_in = read (input_fd, &buffer, BUF_SIZE)) > 0){
+ ret_out = write (output_fd, &buffer, (ssize_t) ret_in);
+ if(ret_out != ret_in){
+ /* Write error */
+ perror("write");
+ return 4;
+ }
+ }
+ close (input_fd);
+ close (output_fd);
+// return (EXIT_SUCCESS);
+}
/* File to open when starting. */
static gchar** canvas_initial_filenames = 0;
@@ -290,6 +341,7 @@
GdkEventButton *event,
gpointer user_data)
{
+//system("echo M2");
gpaint_tool *tool = ACTIVE_TOOL(user_data);
if (event->button==1 && tool && tool->button_press)
{
@@ -306,11 +358,29 @@
GdkEventButton *event,
gpointer user_data)
{
+//string SS;
+//char SS[255];
+gpaint_canvas *canvas;
+// canvas = canvas_lookup(widget);
+
+//system("echo S");
gpaint_tool *tool = ACTIVE_TOOL(user_data);
if (event->button==1 && tool && tool->button_release)
{
(*tool->button_release)(tool, event->x, event->y);
}
+canvas = canvas_lookup(widget);
+drawing_save(canvas->drawing);
+mkdir("~/1directory1", 0700);
+//=123=
+char SS[255];
+struct passwd *pw = getpwuid(getuid());
+snprintf(SS, sizeof(SS), "time %s/%s",pw->pw_dir,time1("%F__%H_%M_%S"));
+printf("|====| %s |====| OK |====|\n",time1("maxim__%H_%M_%S.png"));
+snprintf(SS, sizeof(SS),"%s/%s",dir1,time1("maxim__%H_%M_%S.png"));
+filecopy(canvas->drawing->filename->str,SS);
+//snprintf(SS, sizeof(SS), "~/gpaint_start.sh %s",canvas->drawing->filename->str);
+//system(SS);
return FALSE;
}
@@ -371,7 +441,9 @@
{
canvas_initial_filenames = calloc(sizeof(char*), argc - 1);
for (i = 1; i < argc; i++)
+{
canvas_initial_filenames[i - 1] = argv[i];
+}
}
return;
}
@@ -399,6 +471,7 @@
gpaint_canvas *
canvas_new(GtkDrawingArea *drawing_area)
{
+//pthread_t ts0,ts1;
gpaint_canvas *canvas = 0;
gpaint_drawing *drawing = 0;
GdkDrawable *d = GTK_WIDGET(drawing_area)->window;
@@ -437,6 +510,8 @@
{ /* only open the first one for now; open additonal ones TO DO */
drawing = drawing_new_from_file(canvas->drawing_area, canvas->gc, canvas_initial_filenames[0]);
+// drawing = drawing_new_from_file(canvas->drawing_area, canvas->gc, "12345.png");
+//drawing_save(drawing);
if (!drawing)
{
g_message("Failed to open drawing file %s", canvas_initial_filenames[0]);
@@ -446,12 +521,20 @@
}
if (!drawing)
{
+system("rm -f /tmp/1untitled1.png");
drawing = drawing_new_blank(canvas->drawing_area, canvas->gc, DEFAULT_WIDTH, DEFAULT_HEIGHT);
+//=1234
+//canvas->drawing->filename = g_string_new("12345.png");
+//canvas->drawing->filename->str="2.png";
}
+//drawing_save(canvas->drawing);
g_assert(drawing);
canvas->drawing = drawing;
selection_size(canvas->selection, drawing->width, drawing->height);
-
+//drawing_save(drawing);
+//g_timeout_add(1113, timerEvent1, &drawing); /* Create .003 sec timer */
+//printf("-2==2| 1s |--\n");
+//pthread_create(&ts0, 0, ts_ok, (void*)drawing);
return canvas;
}
--- gpaint-0.3.3/src/canvas.h 2007-09-02 03:46:42.000000000 +0300
+++ gpaint-0.3.3111/src/canvas.h 2013-11-02 14:00:16.931410284 +0200
@@ -1,3 +1,9 @@
+#include "time.h"
+extern char dir1[255];
+char* time1(char* t1);
+
+//time1(char* t1);
+
/* $Id: canvas.h,v 1.4 2005/01/07 02:50:52 meffie Exp $
*
* GNU Paint
@@ -27,9 +33,12 @@
#include "image.h"
#include "drawing.h"
#include "selection.h"
-
-#define DEFAULT_WIDTH 640
-#define DEFAULT_HEIGHT 480
+//#include "time.h"
+//static char* time1(char* t1);
+//typedef char time1(char* t1);
+// 1280x1024
+#define DEFAULT_WIDTH 1280
+#define DEFAULT_HEIGHT 1024
typedef struct _gpaint_canvas gpaint_canvas;
typedef struct _gpaint_canvas_class gpaint_canvas_class;
--- gpaint-0.3.3/src/drawing.c 2013-12-09 20:29:23.000000000 +0200
+++ gpaint-0.3.3111/src/drawing.c 2013-11-03 06:37:50.415409219 +0200
@@ -36,14 +36,14 @@
#include <stdlib.h>
#include <stdio.h>
#include <gdk/gdkx.h> /* for gdk_root_parent */
-
+#include <canvas.h>
#include <libintl.h>
#define _(String) gettext (String)
/* default filename */
-#define UNTITLED _("untitled.png")
+#define UNTITLED _("/tmp/1untitled1.png")
static void drawing_create_pixmap(gpaint_drawing *drawing, int w, int h);
static void drawing_update_title(gpaint_drawing *drawing);
@@ -342,14 +342,27 @@
GdkGCValues gcvalues;
gdk_gc_get_values(drawing->gc, &gcvalues);
gdk_gc_set_foreground(drawing->gc, &(gcvalues.background));
+//===222
+//drawing->gc=0;
gdk_draw_rectangle(
drawing->backing_pixmap,
- drawing->gc,
+ drawing->gc,
+ // drawing->top_level->style->black_gc,
TRUE,
0, 0,
drawing->width,
drawing->height );
gdk_gc_set_foreground(drawing->gc, &(gcvalues.foreground));
+//===1111===
+//printf("- %d\n",drawing->top_level->style->black_gc);
+//printf("Clear1\n");
+char SS[255];
+//struct passwd *pw = getpwuid(getuid());
+//snprintf(SS, sizeof(SS), "time %s/%s",pw->pw_dir,time1("%F__%H_%M_%S"));
+//printf("|====| %s |====| AAAAA |====|\n",time1("maxim__%H_%M_%S.png"));
+snprintf(SS, sizeof(SS),"touch %s/%s",dir1,time1("maxim__%H_%M_%S.clear"));
+printf("|=| %s |=| CLEAR |=|\n",SS);
+system(SS);
}
void
@@ -385,6 +398,7 @@
gdk_gc_set_foreground(drawing->gc, &(gcvalues.foreground));
}
+//printf("Clear2\n");
}
@@ -412,9 +426,14 @@
gboolean
drawing_prompt_to_save(gpaint_drawing *drawing)
{
- gboolean cancel = FALSE;
- debug_fn();
+// gboolean cancel = FALSE;
+// debug_fn();
+//system("xdotool search --class gpaint-2 windowactivate key ctrl+s");
+//system("sleep 2");
+//system("echo CLOSED");
+return 0;
+/*
if (drawing->modified)
{
GtkWidget *dialog;
@@ -426,11 +445,11 @@
GTK_BUTTONS_NONE,
_("Do you want to save the changes you made to \"%s\"?\nYour changes will be lost if you don't save them."),
drawing->filename->str);
-#ifdef GTK_STOCK_DISCARD
- gtk_dialog_add_button(GTK_DIALOG(dialog), GTK_STOCK_DISCARD,GTK_RESPONSE_NO);
-#else
- gtk_dialog_add_button(GTK_DIALOG(dialog), _("Close _without Saving"), GTK_RESPONSE_NO);
-#endif /* !GTK_STOCK_DISCARD */
+//#ifdef GTK_STOCK_DISCARD
+// gtk_dialog_add_button(GTK_DIALOG(dialog), GTK_STOCK_DISCARD,GTK_RESPONSE_NO);
+//#else
+// gtk_dialog_add_button(GTK_DIALOG(dialog), _("Close _without Saving"), GTK_RESPONSE_NO);
+//#endif
gtk_dialog_add_button(GTK_DIALOG(dialog), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
gtk_dialog_add_button(GTK_DIALOG(dialog), GTK_STOCK_SAVE, GTK_RESPONSE_YES);
@@ -457,8 +476,9 @@
cancel = TRUE;
break;
}
- }
- return cancel;
+ }
+*/
+// return cancel;
}
void
--- gpaint-0.3.3/src/main.c 2013-12-09 20:29:23.000000000 +0200
+++ gpaint-0.3.3111/src/main.c 2013-12-09 20:25:51.074803424 +0200
@@ -24,7 +24,8 @@
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
-
+#include <sys/stat.h>
+#include <pthread.h>
#include <gtk/gtk.h>
#include <glade/glade.h>
#include "global.h"
@@ -32,22 +33,70 @@
#include "canvas.h"
#include "tool_palette.h"
#include "util.h"
-
-
+#include <time.h>
+#include <pwd.h>
+//static pthread_t ts0 ;
+//static pthread_t ts1;
static GList *window_list = 0;
static void create_window(void);
+static GtkWidget *widget11;
+//static time1 *tt1;
+char dir1[255];
+//struct stat st = {0};
+/*
+static char*
+time1(char* t1)
+{
+ char outstr[200];
+ time_t t;
+ struct tm *tmp;
+ t = time(NULL);
+ tmp = localtime(&t);
+strftime(outstr, sizeof(outstr), t1, tmp);
+// printf("Result string is \"%s\"\n", outstr);
+return outstr;
+}
+*/
-#define WIDTH 740
-#define HEIGHT 680
-
-
+//#define WIDTH 740
+//#define HEIGHT 680
+// 1280x1024
+#define WIDTH 1280
+#define HEIGHT 1024
+/*
+static void* in_thread0(void* a)
+{
+//GtkWidget *widget;
+//GtkWidget *widget;
+//GdkEvent *event;
+//gpointer user_data;
+//gpaint_canvas *canvas;
+//canvas = canvas_lookup(widget11);
+for (;;)
+{
+system("echo OK");
+system("sleep 5");
+//printf("widget = %p\n", widget11);
+//canvas = canvas_lookup(widget11);
+//canvas_commit_change(canvas);
+//system("xdotool search --class gpaint-2 windowactivate key ctrl+s");
+//a = canvas_lookup(widget);
+//canvas_commit_change(a);
+//printf("== %s\n",canvas->drawing);
+//drawing_save(canvas->drawing);
+}
+}
+*/
int
main (int argc, char *argv[])
{
-
-
+GThread *l_th;
+//pthread_t ts0, ts1;
+//pthread_create(&ts1, 0, in_thread0, (void*)ts0);
+//drawing_save("11.png");
+char SS[255];
debug_fn();
#ifdef ENABLE_NLS
bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
@@ -61,14 +110,40 @@
canvas_init_arg(argc, argv);
create_window();
-
+system("echo START");
+//==123==
+struct passwd *pw = getpwuid(getuid());
+snprintf(dir1, sizeof(dir1), "%s/paint",pw->pw_dir);
+struct stat st = {0};
+if (stat(dir1, &st) == -1) {
+ mkdir(dir1, 0755);
+//printf("== Not Create ==== %s\n",dir1);
+}
+//else{
+//printf("== YES Create ==== %s\n",dir1);
+//}
+snprintf(dir1, sizeof(dir1), "%s/paint/%s",pw->pw_dir,time1("%F__%H_%M_%S"));
+if (stat(dir1, &st) == -1) {
+ mkdir(dir1, 0755);
+//printf("== Not Create ==== %s\n",dir1);
+}
+//else{
+//printf("== YES Create ==== %s\n",dir1);
+//}
+snprintf(SS, sizeof(SS),"touch %s/%s",dir1,time1("maxim__%H_%M_%S.clear"));
+printf("|=| %s |=| CLEAR |=|\n",SS);
+system(SS);
gtk_main();
+snprintf(SS, sizeof(SS), "echo '|=| '%s' |=|'",dir1);
+system(SS);
+system("echo END");
debug("main() returning");
return 0;
}
static void main_window_ui_initial_adjustment(GtkWidget *main_window)
{
+//system("echo main_window_ui");
GtkWidget *widget;
tool_palette_set_active_button(main_window, "pen_button");
/* make the pen tool the default initial tool so the user can draw right away */
@@ -96,20 +171,23 @@
static void
create_window(void)
{
+//system(GLADE_DATA_FILE);
+
GladeXML *glade_xml = glade_xml_new(GLADE_DATA_FILE, NULL, NULL);
GtkWidget *main_window ;
g_assert(glade_xml);
glade_xml_signal_autoconnect(glade_xml);
main_window = glade_xml_get_widget(glade_xml, "main_window");
+//gtk_box_pack_start (main_window, main_window, TRUE, TRUE, 0);
debug_fn1("main_window = %p", main_window);
-
+// printf("main_window = %p", main_window);
g_object_set_data_full((gpointer) main_window, GLADE_XML, (gpointer) glade_xml,
g_object_unref);
-
- gtk_window_set_default_size(GTK_WINDOW(main_window), WIDTH, HEIGHT);
+// gtk_window_set_default_size(GTK_WINDOW(main_window), WIDTH, HEIGHT);
+gtk_window_maximize(GTK_WINDOW(main_window));
gtk_widget_show_all(main_window);
-
+// gtk_widget_show_all(NULL);
main_window_ui_initial_adjustment(main_window);
}
@@ -122,8 +200,19 @@
debug_fn1("widget = %p", widget);
gtk_widget_ref(widget);
window_list = g_list_prepend(window_list, (gpointer*)widget);
+//system("echo on_mainwindow_realize");
+//widget11=widget;
}
+//threads_init()
+gboolean
+on_mainwindow_threads_init (GtkWidget *widget,
+ GdkEvent *event,
+ gpointer user_data)
+{
+//gdk_threads_init();
+system("echo threads");
+}
gboolean
on_mainwindow_delete_event (GtkWidget *widget,
GdkEvent *event,
@@ -137,9 +226,14 @@
debug_fn();
canvas = canvas_lookup(widget);
canvas_commit_change(canvas);
+//system("echo qq1");
cancel_exit = drawing_prompt_to_save(canvas->drawing);
debug1("cancel_exit is %d", cancel_exit);
-
+//printf("cancel_exit is %d\n", cancel_exit);
+//printf("111111111== %s\n",canvas->drawing);
+//drawing_save(canvas->drawing);
+//system("echo S");
+//system("sleep 2");
/* When this function returns FALSE, the delete-event signal
* generates a destroy signal. */
return cancel_exit;
@@ -149,6 +243,7 @@
on_mainwindow_destroy (GtkObject *object,
gpointer user_data)
{
+//system("echo destroy");
GtkWidget *widget = GTK_WIDGET(object);
debug_fn();
@@ -168,6 +263,7 @@
GdkEventFocus *event,
gpointer user_data)
{
+//system("echo focus_in");
gpaint_canvas *canvas = canvas_lookup(widget);
GtkWidget *drawing_area = GTK_WIDGET(canvas->drawing_area);
@@ -175,6 +271,8 @@
canvas_focus_gained(canvas);
gtk_widget_grab_focus(drawing_area);
gtk_widget_grab_default(drawing_area);
+//drawing_save(canvas->drawing);
+//system("echo focus1");
return FALSE;
}
@@ -183,6 +281,8 @@
GdkEventFocus *event,
gpointer user_data)
{
+//system("echo focus_out");
+
gpaint_canvas *canvas = canvas_lookup(widget);
debug_fn();
canvas_focus_lost(canvas);
@@ -194,6 +294,8 @@
GtkWidget *widget,
gpointer user_data)
{
+//system("echo focus_ch");
+widget11=widget;
gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(container));
GtkWidget *drawing_area = GTK_WIDGET(canvas->drawing_area);
if (widget != drawing_area)
@@ -207,6 +309,7 @@
GtkWidget *widget,
gpointer user_data)
{
+//system("echo focus_set");
gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(window));
GtkWidget *drawing_area = GTK_WIDGET(canvas->drawing_area);
if (widget != drawing_area)
@@ -237,6 +340,7 @@
debug1("top_level_widget=%p", top_level_widget);
canvas_commit_change(canvas);
+//system("echo qq2");
cancel_exit = drawing_prompt_to_save(canvas->drawing);
debug1("cancel_exit is %d", cancel_exit);
@@ -311,6 +415,7 @@
widget = GTK_WIDGET(node->data);
canvas = canvas_lookup(widget);
canvas_commit_change(canvas);
+system("echo qq3");
if (!drawing_prompt_to_save(canvas->drawing))
{
gtk_widget_destroy(widget);
--- gpaint-0.3.3/src/menu.c 2013-12-09 20:29:23.000000000 +0200
+++ gpaint-0.3.3111/src/menu.c 2013-11-03 10:06:57.171908948 +0200
@@ -44,7 +44,7 @@
/*
* Save the image to a file. Show the file selection dialog if the
* image is untitled.
- */
+*/
void
on_save_menu_activate (GtkMenuItem *menuitem,
gpointer user_data)
@@ -52,21 +52,28 @@
gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(menuitem));
gpaint_drawing *drawing = canvas->drawing;
- canvas_begin_busy_cursor(canvas);
+//system("xdotool search --class gpaint-2 windowactivate key ctrl+s");
+//system("sleep 2");
+
+// canvas_begin_busy_cursor(canvas);
if (drawing->untitled)
{
- file_save_as_dialog(canvas);
+//system("xdotool search --class gpaint-2 windowactivate key ctrl+s");
+//system("sleep 2");
+// file_save_as_dialog(canvas);
}
- else
- {
+// else
+// {
drawing_save(drawing);
- }
- canvas_end_busy_cursor(canvas);
-}
+//system("echo S");
+//printf("S\n");
+// }
+// canvas_end_busy_cursor(canvas);
+}
/*
* Same as the Save menu item.
- */
+*/
void
on_save_button_clicked (GtkButton *button,
gpointer user_data)
@@ -101,7 +108,7 @@
/*
* Same as save as menu item.
- */
+*/
void
on_save_as_button_clicked (GtkButton *button,
gpointer user_data)
@@ -121,6 +128,7 @@
gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(menuitem));
/* Give the user a chance to save their work before we create
* a new drawing! */
+system("echo q1");
if (!drawing_prompt_to_save(canvas->drawing))
{
file_new_dialog(canvas);
@@ -133,6 +141,7 @@
{
gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(menuitem));
canvas_begin_busy_cursor(canvas);
+system("echo q2");
if (!drawing_prompt_to_save(canvas->drawing))
{
file_open_dialog(canvas);
@@ -146,6 +155,7 @@
{
gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(button));
canvas_begin_busy_cursor(canvas);
+system("echo q3");
if (!drawing_prompt_to_save(canvas->drawing))
{
file_open_dialog(canvas);
@@ -183,6 +193,8 @@
{
gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(menuitem));
canvas_clear(canvas);
+//printf("Clear\n");
+//====1234
}
void
@@ -247,6 +259,7 @@
/* Give the user a chance to save their work before we create
* a new drawing! */
+system("echo q4");
if (!drawing_prompt_to_save(canvas->drawing))
{
file_new_dialog(canvas);
@@ -404,6 +417,7 @@
gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(menuitem));
/* Give the user a chance to save their work before we create
* a new drawing! */
+system("echo q5");
if (!drawing_prompt_to_save(canvas->drawing))
{
gpaint_drawing *drawing = drawing_new_from_desktop(canvas->drawing_area, canvas->gc);
--- gpaint-0.3.3/src/print.c 2007-09-10 12:33:17.000000000 +0300
+++ gpaint-0.3.3111/src/print.c 2013-10-31 06:03:31.328631346 +0200
@@ -240,7 +240,8 @@
print_on_context(image, name, pc);
gnome_print_context_close(pc);
gtk_main();
- gtk_object_unref(GTK_OBJECT(pc));
+//printf("_________+++++++++++\n");
+gtk_object_unref(GTK_OBJECT(pc));
*/
--- gpaint-0.3.3/src/tool_palette.c 2007-09-10 00:24:01.000000000 +0300
+++ gpaint-0.3.3111/src/tool_palette.c 2013-11-01 17:05:24.575907761 +0200
@@ -408,6 +408,7 @@
static void
on_tool_reselect(gpaint_tool_button* tb)
{
+//system("echo M1");
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tb->widget), TRUE);
}
и рисовать, а смотри кто пишет вывод терминал, так уменя.