graphics/gpaint: Updated for version 0.3.4.

Signed-off-by: bedlam <dave@slackbuilds.org>

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
Petar Petrov 2023-04-21 20:52:01 +01:00 committed by Willy Sudiarto Raharjo
parent 5cc9f6c522
commit 9462de532a
No known key found for this signature in database
GPG Key ID: 3F617144D7238786
14 changed files with 8 additions and 988 deletions

View File

@ -2,7 +2,7 @@
# Slackware build script for gpaint
# Copyright 2013-2021 Petar Petrov slackalaxy@gmail.com
# Copyright 2013-2023 Petar Petrov slackalaxy@gmail.com
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@ -25,8 +25,8 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=gpaint
VERSION=${VERSION:-0.3.3}
BUILD=${BUILD:-2}
VERSION=${VERSION:-0.3.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@ -70,7 +70,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-2-$VERSION
tar xvf $CWD/${PRGNAM}_${VERSION}.orig.tar.gz
tar xvf $CWD/$PRGNAM-2-$VERSION.tar.gz
cd $PRGNAM-2-$VERSION
chown -R root:root .
find -L . \
@ -79,22 +79,6 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# Thanks to Debian for the patches! And the man page and icon! And the
# whole source tarball, actually...
patch -p1 -i $CWD/patches/01_drawing.patch
patch -p1 -i $CWD/patches/02_remove_menu_h_reference.patch
patch -p1 -i $CWD/patches/09_fix_menu_entry.patch
patch -p1 -i $CWD/patches/10_fix_crash_on_font_select.patch
patch -p1 -i $CWD/patches/11_fix_image_rotation.patch
patch -p1 -i $CWD/patches/20_fix_line_width_combo.patch
patch -p1 -i $CWD/patches/21_fix_crash_on_fill_button_click.patch
patch -p1 -i $CWD/patches/22_fix_not_printable_string.patch
patch -p1 -i $CWD/patches/23_add_accelerator_keys.patch
patch -p1 -i $CWD/patches/24_fix_crash_on_failed_write.patch
patch -p1 -i $CWD/patches/25_fix_color_selection.patch
patch -p1 -i $CWD/patches/26_fix_toolbar.patch
LIBS="-lm" \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@ -118,7 +102,7 @@ for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; r
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
AUTHORS ChangeLog COPYING INSTALL NEWS README THANKS TODO \
AUTHORS ChangeLog COPYING NEWS README THANKS TODO \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild

View File

@ -1,8 +1,8 @@
PRGNAM="gpaint"
VERSION="0.3.3"
VERSION="0.3.4"
HOMEPAGE="http://www.gnu.org/software/gpaint/"
DOWNLOAD="http://ftp.de.debian.org/debian/pool/main/g/gpaint/gpaint_0.3.3.orig.tar.gz"
MD5SUM="037cc283d2cdd806dbdc462839bb3b72"
DOWNLOAD="https://alpha.gnu.org/gnu/gpaint/gpaint-2-0.3.4.tar.gz"
MD5SUM="81bd9ba6814c7e1c196c51859bad5e6a"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""

View File

@ -1,21 +0,0 @@
Author: Goedson Teixeira Paixao <goedson@debian.org>
Description: Fixes compiling with recent versions of libgtk
Newer versions of Gtk+ don't define the GTK_RESPONSE_DISCARD symbol, so we
replace its ocurrence by GTK_RESPONSE_NO to make gpaint build without
errors.
Bug: https://savannah.gnu.org/bugs/index.php?21703
Forwarded: https://savannah.gnu.org/patch/?7047
Index: b/src/drawing.c
===================================================================
--- a/src/drawing.c 2009-12-19 17:11:48.000000000 -0200
+++ b/src/drawing.c 2009-12-19 17:12:10.000000000 -0200
@@ -427,7 +427,7 @@
_("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_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 */

View File

@ -1,16 +0,0 @@
Author: Goedson Teixeira Paixao <goedson@debian.org>
Description: Removes reference to non-existent menu.h file
Forwarded: https://savannah.gnu.org/patch/?7050
Index: b/src/menu.c
===================================================================
--- a/src/menu.c 2009-12-19 17:11:48.000000000 -0200
+++ b/src/menu.c 2009-12-19 17:12:10.000000000 -0200
@@ -34,7 +34,6 @@
#include "image.h"
#include "image_processing.h"
#include "tool_palette.h"
-#include "menu.h"
#include "print.h"
#include "file.h"
#include "text.h"

View File

@ -1,25 +0,0 @@
Author: Goedson Teixeira Paixao <goedson@debian.org>
Description: Fixes the gpaint.desktop file
Change executable and icon filenames according to changes applied in the
Debian packaging.
Index: b/gpaint.desktop
===================================================================
--- a/gpaint.desktop 2009-12-19 17:11:48.000000000 -0200
+++ b/gpaint.desktop 2009-12-19 17:12:10.000000000 -0200
@@ -3,11 +3,9 @@
Comment=A small-scale painting program for GNOME, the GNU Desktop
Comment[fr]=Un petit outil de dessin pour GNOME, le desktop GNU
Comment[pt_BR]=Um pequeno programa de desenho para o GNOME, o Desktop GNU
-TryExec=gpaint-2
-Exec=gpaint-2
-Icon=gnome-logo-icon-transparent.png
+TryExec=gpaint
+Exec=gpaint
+Icon=gpaint.svg
Terminal=0
Type=Application
-
-
-
+Categories=Graphics;2DGraphics;RasterGraphics;

View File

@ -1,97 +0,0 @@
Author: Goedson Teixeira Paixao <goedson@debian.org>
Description: Avoids crash on font selection
Makes the font selection button active only when the text tool is selected,
avoiding a crash that would occur if it is clicked without selectiong the
text tool.
Bug-Debian: http://bugs.debian.org/497201
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/gpaint/+bug/262889
Forwarded: https://savannah.gnu.org/patch/?6645
Index: b/gpaint.glade
===================================================================
--- a/gpaint.glade 2009-12-19 17:11:48.000000000 -0200
+++ b/gpaint.glade 2009-12-19 17:12:10.000000000 -0200
@@ -1137,6 +1137,7 @@
<child>
<widget class="GtkFontButton" id="fontpicker">
<property name="visible">True</property>
+ <property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="show_style">True</property>
<property name="show_size">True</property>
Index: b/src/main.c
===================================================================
--- a/src/main.c 2009-12-19 17:11:48.000000000 -0200
+++ b/src/main.c 2009-12-19 17:12:10.000000000 -0200
@@ -73,6 +73,10 @@
tool_palette_set_active_button(main_window, "pen_button");
/* make the pen tool the default initial tool so the user can draw right away */
+ gpaint_tool *text_tool = tool_palette_get_tool(main_window, "text");
+ widget = lookup_widget(main_window, "fontpicker");
+ text_set_fontpicker(text_tool, widget);
+
#if (!defined(HAVE_GTK_PRINT) && !defined(HAVE_GNOME_PRINT))
/* disable print menus and buttons if no print support available*/
widget = lookup_widget(main_window, "print_button");
Index: b/src/text.c
===================================================================
--- a/src/text.c 2009-12-19 17:11:48.000000000 -0200
+++ b/src/text.c 2009-12-19 17:12:10.000000000 -0200
@@ -54,6 +54,7 @@
GString *textbuf;
int max_width;
int max_height;
+ GtkFontButton *fontpicker;
} gpaint_text;
@@ -94,6 +95,7 @@
GPAINT_TOOL(text)->commit_change = text_commit_change;
text->textbuf = g_string_new(0);
+ text->fontpicker = NULL;
return GPAINT_TOOL(text);
}
@@ -118,6 +120,7 @@
g_string_printf(text->textbuf, "");
text->timer = g_timeout_add(TEXT_CURSOR_BLINK_RATE,
(GtkFunction)(text_handle_timeout), text);
+ gtk_widget_set_sensitive(GTK_WIDGET(text->fontpicker), TRUE);
}
static void
@@ -145,7 +148,7 @@
text_draw_string(text);
}
text_clear(text);
-
+ gtk_widget_set_sensitive(GTK_WIDGET(text->fontpicker), FALSE);
}
static gboolean
@@ -474,6 +477,8 @@
}
-
-
-
+void text_set_fontpicker(gpaint_tool *tool, GtkFontButton *fontpicker)
+{
+ gpaint_text *text = GPAINT_TEXT(tool);
+ text->fontpicker = fontpicker;
+}
Index: b/src/text.h
===================================================================
--- a/src/text.h 2009-12-19 17:11:48.000000000 -0200
+++ b/src/text.h 2009-12-19 17:12:10.000000000 -0200
@@ -30,6 +30,6 @@
gpaint_tool* text_create(const char *name);
-
+void text_set_fontpicker(gpaint_tool *tool, GtkFontButton *fontpicker);
#endif

View File

@ -1,110 +0,0 @@
Author: Goedson Teixeira Paixao <goedson@debian.org>
Description: Fixes rotation operations
Implement the rotation in multiples of 90 degrees using the
gdk_pixbuf_rotate_simple function instead of the custom (and broken)
rotation algorithm
Bug-Debian: http://bugs.debian.org/497487
Bug-Ubuntu: https://bugs.edge.launchpad.net/ubuntu/+source/gpaint/+bug/262942
Forwarded: https://savannah.gnu.org/patch/?6643
Index: b/src/drawing.c
===================================================================
--- a/src/drawing.c 2009-12-19 17:12:10.000000000 -0200
+++ b/src/drawing.c 2009-12-19 17:12:11.000000000 -0200
@@ -462,12 +462,23 @@
}
void
-drawing_rotate(gpaint_drawing *drawing, double degrees)
+drawing_rotate(gpaint_drawing *drawing, int degrees)
{
gpaint_image *image = drawing_create_image(drawing);
if (image)
{
- image_rotate(image, degrees);
+ switch (degrees)
+ {
+ case 0:
+ case 90:
+ case 180:
+ case 270:
+ image_rotate_simple(image, degrees);
+ break;
+ default:
+ image_rotate(image, degrees);
+ break;
+ }
/* copy rotated image on the pixmap */
gdk_pixmap_unref(drawing->backing_pixmap);
Index: b/src/drawing.h
===================================================================
--- a/src/drawing.h 2009-12-19 17:11:48.000000000 -0200
+++ b/src/drawing.h 2009-12-19 17:12:11.000000000 -0200
@@ -58,6 +58,6 @@
void drawing_clear(gpaint_drawing *drawing);
void drawing_clear_selection(gpaint_drawing *drawing, gpaint_point_array *points);
gboolean drawing_prompt_to_save(gpaint_drawing *drawing);
-void drawing_rotate(gpaint_drawing *drawing, double degrees);
+void drawing_rotate(gpaint_drawing *drawing, int degrees);
#endif
Index: b/src/image.c
===================================================================
--- a/src/image.c 2009-12-19 17:11:48.000000000 -0200
+++ b/src/image.c 2009-12-19 17:12:11.000000000 -0200
@@ -628,6 +628,27 @@
return 0;
}
+int
+image_rotate_simple (gpaint_image *image, int degrees)
+{
+ GdkPixbuf *newpixbuf;
+
+ switch (degrees)
+ {
+ case GDK_PIXBUF_ROTATE_NONE:
+ case GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE:
+ case GDK_PIXBUF_ROTATE_UPSIDEDOWN:
+ case GDK_PIXBUF_ROTATE_CLOCKWISE:
+ newpixbuf = gdk_pixbuf_rotate_simple (image->pixbuf, degrees);
+ gdk_pixbuf_unref (image->pixbuf);
+ image->pixbuf = newpixbuf;
+ return 0;
+ break;
+ default:
+ return 1;
+ }
+}
+
GdkPixbuf* image_pixbuf(gpaint_image* image) {
return image->pixbuf;
Index: b/src/image.h
===================================================================
--- a/src/image.h 2009-12-19 17:11:48.000000000 -0200
+++ b/src/image.h 2009-12-19 17:12:11.000000000 -0200
@@ -45,5 +45,6 @@
int image_flip_x(gpaint_image *image);
int image_flip_y(gpaint_image *image);
int image_rotate(gpaint_image *image, double radians);
+int image_rotate_simple(gpaint_image *image, int degrees);
GdkPixbuf* image_pixbuf(gpaint_image *image);
#endif
Index: b/src/menu.c
===================================================================
--- a/src/menu.c 2009-12-19 17:12:10.000000000 -0200
+++ b/src/menu.c 2009-12-19 17:12:11.000000000 -0200
@@ -486,9 +486,9 @@
sscanf(name, "rotate_%c%d_menu", &sign, &degrees);
debug2("sign = %c degrees = %d", sign, degrees);
- if (sign=='n')
+ if (sign=='p')
{
- degrees *= -1;
+ degrees = 360 - degrees;
}
canvas_focus_lost(canvas);
drawing_rotate(canvas->drawing, degrees);

View File

@ -1,352 +0,0 @@
Author: Thomas Viehmann <tv@beamnet.de>
Description: Fix line width combo box
Fixes the line width combo box by puting items in the drop down
menu in the gpaint.glade file.
Bug-Debian: http://bugs.debian.org/497484
Bug-Ubuntu: https://bugs.edge.launchpad.net/ubuntu/+source/gpaint/+bug/209173
Forwarded: https://savannah.gnu.org/patch/?6644
Index: b/gpaint.glade
===================================================================
--- a/gpaint.glade 2009-12-19 17:12:10.000000000 -0200
+++ b/gpaint.glade 2009-12-19 17:12:11.000000000 -0200
@@ -1230,6 +1230,34 @@
<property name="column_spacing">0</property>
<child>
+ <widget class="GtkLabel" id="Line Width">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">line width</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_CENTER</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ <signal name="realize" handler="on_small_label_realize"/>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options"></property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
<widget class="GtkCombo" id="line_width_combo">
<property name="width_request">60</property>
<property name="height_request">25</property>
@@ -1239,27 +1267,264 @@
<property name="case_sensitive">False</property>
<property name="enable_arrow_keys">True</property>
<property name="enable_arrows_always">False</property>
- <signal name="check_resize" handler="on_line_width_combo_check_resize"/>
<signal name="add" handler="on_line_width_combo_add"/>
+ <signal name="check_resize" handler="on_line_width_combo_check_resize"/>
<child internal-child="entry">
- <widget class="GtkEntry" id="entry1">
+ <widget class="GtkEntry" id="line_width_combo_combo_entry">
<property name="visible">True</property>
+ <property name="tooltip" translatable="yes">line width</property>
<property name="can_focus">True</property>
<property name="editable">True</property>
<property name="visibility">True</property>
<property name="max_length">0</property>
<property name="text" translatable="yes"></property>
<property name="has_frame">True</property>
- <property name="invisible_char">•</property>
+ <property name="invisible_char">*</property>
<property name="activates_default">False</property>
+ <signal name="changed" handler="on_line_width_combo_combo_entry_changed"/>
</widget>
</child>
<child internal-child="list">
- <widget class="GtkList" id="list1">
+ <widget class="GtkList" id="convertwidget1">
<property name="visible">True</property>
<property name="selection_mode">GTK_SELECTION_BROWSE</property>
+
+ <child>
+ <widget class="GtkListItem" id="convertwidget2">
+ <property name="visible">True</property>
+
+ <child>
+ <widget class="GtkLabel" id="convertwidget3">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">1</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkListItem" id="convertwidget4">
+ <property name="visible">True</property>
+
+ <child>
+ <widget class="GtkLabel" id="convertwidget5">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">2</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkListItem" id="convertwidget6">
+ <property name="visible">True</property>
+
+ <child>
+ <widget class="GtkLabel" id="convertwidget7">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">3</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkListItem" id="convertwidget8">
+ <property name="visible">True</property>
+
+ <child>
+ <widget class="GtkLabel" id="convertwidget9">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">4</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkListItem" id="convertwidget10">
+ <property name="visible">True</property>
+
+ <child>
+ <widget class="GtkLabel" id="convertwidget11">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">5</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+
+
+ <child>
+ <widget class="GtkListItem" id="convertwidget12">
+ <property name="visible">True</property>
+
+ <child>
+ <widget class="GtkLabel" id="convertwidget13">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">6</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkListItem" id="convertwidget14">
+ <property name="visible">True</property>
+
+ <child>
+ <widget class="GtkLabel" id="convertwidget15">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">7</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkListItem" id="convertwidget16">
+ <property name="visible">True</property>
+
+ <child>
+ <widget class="GtkLabel" id="convertwidget17">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">8</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkListItem" id="convertwidget18">
+ <property name="visible">True</property>
+
+ <child>
+ <widget class="GtkLabel" id="convertwidget19">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">9</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
</widget>
</child>
</widget>
@@ -1272,35 +1537,6 @@
<property name="y_options"></property>
</packing>
</child>
-
- <child>
- <widget class="GtkLabel" id="Line Width">
- <property name="visible">True</property>
- <property name="label" translatable="yes">line width</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- <signal name="realize" handler="on_small_label_realize"/>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
- </packing>
- </child>
</widget>
</child>
</widget>

View File

@ -1,25 +0,0 @@
Author: Goedson Teixeira Paixao <goedson@debian.org>
Description: fix crash on fill button click
Avoid crashing when clicking on fill button by checking that
tool->canvas->drawing_area is not null before casting it to GtkWidget
Bug-Debian: http://bugs.debian.org/544162
Bug-Ubuntu: https://bugs.edge.launchpad.net/ubuntu/+source/gpaint/+bug/227174
Bug: https://savannah.gnu.org/bugs/?25117
Forwarded: https://savannah.gnu.org/patch/?7045
Index: pkg-gpaint/src/text.c
===================================================================
--- pkg-gpaint.orig/src/text.c 2009-12-22 21:03:29.000000000 -0200
+++ pkg-gpaint/src/text.c 2009-12-23 13:01:33.000000000 -0200
@@ -156,7 +156,10 @@
{
debug_fn();
GtkStyle *style;
- GtkWidget *widget = GTK_WIDGET(tool->canvas->drawing_area);
+ GtkWidget *widget = NULL;
+
+ if ((tool->canvas == NULL) || (tool->canvas->drawing_area == NULL)) return FALSE;
+ widget = GTK_WIDGET(tool->canvas->drawing_area);
style = gtk_widget_get_style(widget);
g_assert(style);

View File

@ -1,21 +0,0 @@
Author: Ying-Chun Liu (PaulLiu) <grandpaul@gmail.com>
Description: Ignore non-printable characters on text input
Bug-Debian: http://bugs.debian.org/535217
Bug-Ubuntu: https://bugs.edge.launchpad.net/ubuntu/+source/gpaint/+bug/262648
Bug: https://savannah.gnu.org/bugs/?26923
Forwarded: https://savannah.gnu.org/patch/?7051
Index: b/src/text.c
===================================================================
--- a/src/text.c 2009-12-19 17:12:11.000000000 -0200
+++ b/src/text.c 2009-12-19 17:12:11.000000000 -0200
@@ -238,7 +238,9 @@
}
else if (keyevent->string)
{
+ if (isprint(keyevent->string[0])) {
g_string_append(text->textbuf, keyevent->string);
+ }
}
else if ((keyevent->keyval >= GDK_space) && (keyevent->keyval < GDK_Shift_L))
{

View File

@ -1,92 +0,0 @@
Author: Matt Wheeler <m@funkyhat.org>
Description: Add accelerator keys to common functions
Add accelerator keys for common operations in gpaint
Bug-Debian: http://bugs.debian.org/550305
Bug-Ubuntu: https://bugs.edge.launchpad.net/ubuntu/+source/gpaint/+bug/444750
Bug: https://savannah.gnu.org/bugs/?27618
Forwarded: https://savannah.gnu.org/patch/?7053
Index: b/gpaint.glade
===================================================================
--- a/gpaint.glade 2009-12-19 17:12:11.000000000 -0200
+++ b/gpaint.glade 2009-12-19 17:12:11.000000000 -0200
@@ -341,6 +341,7 @@
<property name="label" translatable="yes">_New</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_new_file_menu_activate"/>
+ <accelerator key="N" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
<widget class="GtkImage" id="image25">
@@ -362,6 +363,7 @@
<property name="label" translatable="yes">_Open</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_open_menu_activate"/>
+ <accelerator key="O" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
<widget class="GtkImage" id="image26">
@@ -383,6 +385,7 @@
<property name="label" translatable="yes">_Save</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_save_menu_activate"/>
+ <accelerator key="S" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
<widget class="GtkImage" id="image27">
@@ -453,6 +456,7 @@
<property name="label" translatable="yes">_Print</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_print_menu_activate"/>
+ <accelerator key="P" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
<widget class="GtkImage" id="image30">
@@ -480,6 +484,7 @@
<property name="label" translatable="yes">_Close</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_close_window_activate"/>
+ <accelerator key="W" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
<widget class="GtkImage" id="image31">
@@ -501,6 +506,7 @@
<property name="label" translatable="yes">_Quit</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_quit_menu_activate"/>
+ <accelerator key="Q" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
<widget class="GtkImage" id="image32">
@@ -535,6 +541,7 @@
<property name="label" translatable="yes">Cu_t</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_cut_menu_activate"/>
+ <accelerator key="X" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
<widget class="GtkImage" id="image33">
@@ -556,6 +563,7 @@
<property name="label" translatable="yes">_Copy</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_copy_menu_activate"/>
+ <accelerator key="C" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
<widget class="GtkImage" id="image34">
@@ -577,6 +585,7 @@
<property name="label" translatable="yes">_Paste</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_paste_menu_activate"/>
+ <accelerator key="V" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
<widget class="GtkImage" id="image35">
@@ -625,6 +634,7 @@
<property name="label" translatable="yes">_Select All</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_select_all_activate"/>
+ <accelerator key="A" modifiers="GDK_CONTROL_MASK" signal="activate"/>
</widget>
</child>
</widget>

View File

@ -1,105 +0,0 @@
Author: Goedson Teixeira Paixao <goedson@debian.org>
Description: Fix crash when saving in unsupported format
Check if the format chosen by the user is supported before trying to save.
Bug-Ubuntu: https://bugs.edge.launchpad.net/ubuntu/+source/gpaint/+bug/386234
Bug: https://savannah.gnu.org/bugs/?25334
Forwarded: https://savannah.gnu.org/patch/?7052
Index: b/src/drawing.c
===================================================================
--- a/src/drawing.c 2009-12-19 17:12:11.000000000 -0200
+++ b/src/drawing.c 2009-12-19 17:12:12.000000000 -0200
@@ -262,7 +262,7 @@
(error && error->message) ? error->message : "");
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(GTK_WIDGET(dialog));
- g_free(error); /* allocated by gdk-pixbuf library */
+ g_error_free(error); /* allocated by gdk-pixbuf library */
}
return saved;
}
Index: b/src/image.c
===================================================================
--- a/src/image.c 2009-12-19 17:12:11.000000000 -0200
+++ b/src/image.c 2009-12-19 17:12:12.000000000 -0200
@@ -32,6 +32,7 @@
#include <gdk/gdkx.h> /* for gdk_root_parent */
#include <gdk-pixbuf/gdk-pixbuf.h>
+#define _(String) gettext (String)
static int cmp_int(const void *a, const void *b);
static void fill_polygon(
@@ -191,13 +192,48 @@
return image;
}
+
+gboolean
+is_writable (GSList *formats, gchar *type)
+{
+ gboolean writable = FALSE;
+
+ while (!writable && formats != NULL)
+ {
+ gchar** extensions = gdk_pixbuf_format_get_extensions((GdkPixbufFormat *)(formats->data));
+ gchar** e = NULL;
+ for (e = extensions; *e; ++e)
+ {
+ if (!strcmp(*e, type))
+ {
+ writable = TRUE;
+ break;
+ }
+ }
+ g_strfreev (extensions);
+ formats = g_slist_next (formats);
+ }
+ return writable;
+}
+
+void add_if_writable (GdkPixbufFormat *data, GSList **list)
+{
+ if (gdk_pixbuf_format_is_writable (data))
+ *list = g_slist_prepend (*list, data);
+}
+
int
image_write(gpaint_image* image, const gchar* filename, GError **perror)
{
gboolean saved = FALSE;
gchar *ext = NULL;
gchar *type = NULL;
-
+
+ GSList *formats = gdk_pixbuf_get_formats ();
+ GSList *writable_formats = NULL;
+ g_slist_foreach (formats, add_if_writable, &writable_formats);
+ g_slist_free (formats);
+
ext = g_strrstr(filename, ".");
if (!ext)
{
@@ -214,13 +250,20 @@
{
type = g_ascii_strdown(ext+1,-1);
debug1("type=[%s]",type);
- saved = gdk_pixbuf_save(image->pixbuf, filename, type, perror, NULL);
+ if (is_writable (writable_formats, type))
+ {
+ saved = gdk_pixbuf_save(image->pixbuf, filename, type, perror, NULL);
+ } else {
+ saved = FALSE;
+ *perror = g_error_new (GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_BAD_OPTION, _("Saving in the '%s' format is not supported by gdk_pixbuf"), type);
+ }
g_free(type);
}
if (!saved && *perror)
{
g_warning("Could not save image %s: %s\n", filename, (*perror)->message);
- }
+ }
+ g_slist_free (writable_formats);
return saved;
}

View File

@ -1,79 +0,0 @@
Author: Goedson Teixeira Paixao <goedson@debian.org>
Description: Fix foreground/background color selection
Fixes the foreground/background color selection by checking the GtkColorButton
color when the user chooses the color.
Bug-Ubuntu: https://bugs.edge.launchpad.net/ubuntu/+source/gpaint/+bug/344237
Forwarded: https://savannah.gnu.org/patch/index.php?7028
diff --git a/src/callbacks.h b/src/callbacks.h
index 985dddf..5485329 100644
--- a/src/callbacks.h
+++ b/src/callbacks.h
@@ -359,18 +359,10 @@ on_fontpicker_font_set (GtkFontButton *gnomefontpicker,
void
on_foreground_color_picker_color_set (GtkColorButton *gnomecolorpicker,
- guint arg1,
- guint arg2,
- guint arg3,
- guint arg4,
gpointer user_data);
void
on_background_color_picker_color_set (GtkColorButton *gnomecolorpicker,
- guint arg1,
- guint arg2,
- guint arg3,
- guint arg4,
gpointer user_data);
void
diff --git a/src/color_palette.c b/src/color_palette.c
index 9502acc..8c259e7 100644
--- a/src/color_palette.c
+++ b/src/color_palette.c
@@ -338,7 +338,7 @@ change_color(gpaint_color_swatch *swatch, gpaint_color_mode mode)
g_assert(swatch);
canvas = canvas_lookup(swatch->widget);
gdk_gc_get_values(swatch->gc, &gcvalues);
-
+
if (mode==FOREGROUND)
{
change_foreground_color(canvas, &(gcvalues.foreground));
@@ -362,15 +362,12 @@ change_color(gpaint_color_swatch *swatch, gpaint_color_mode mode)
*/
void
on_foreground_color_picker_color_set (GtkColorButton *gnomecolorpicker,
- guint arg1,
- guint arg2,
- guint arg3,
- guint arg4,
gpointer user_data)
{
- GdkColor color = {0, arg1, arg2, arg3};
+ GdkColor color;
gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(gnomecolorpicker));
+ gtk_color_button_get_color(gnomecolorpicker, &color);
gdk_color_alloc(gdk_colormap_get_system(), &color);
change_foreground_color(canvas, &color);
}
@@ -380,15 +377,12 @@ on_foreground_color_picker_color_set (GtkColorButton *gnomecolorpicker,
*/
void
on_background_color_picker_color_set (GtkColorButton *gnomecolorpicker,
- guint arg1,
- guint arg2,
- guint arg3,
- guint arg4,
gpointer user_data)
{
- GdkColor color = {0, arg1, arg2, arg3};
+ GdkColor color;
gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(gnomecolorpicker));
+ gtk_color_button_get_color(gnomecolorpicker, &color);
gdk_color_alloc(gdk_colormap_get_system(), &color);
change_background_color(canvas, &color);
}

View File

@ -1,21 +0,0 @@
Author: Goedson Teixeira Paixao <goedson@debian.org>
Description: Fix toolbar behaviour
Do not set a fixed toolbar style so that gpaint follows the style set in
the user preferences
Bug-Debian: http://bugs.debian.org/497488
Bug-Ubuntu: https://bugs.edge.launchpad.net/ubuntu/+source/gpaint/+bug/127296
Bug: https://savannah.gnu.org/bugs/?21260
Forwarded: https://savannah.gnu.org/patch/index.php?7044
Index: pkg-gpaint/gpaint.glade
===================================================================
--- pkg-gpaint.orig/gpaint.glade 2009-12-22 20:56:13.000000000 -0200
+++ pkg-gpaint/gpaint.glade 2009-12-22 20:56:33.000000000 -0200
@@ -1004,7 +1004,6 @@
<property name="height_request">55</property>
<property name="visible">True</property>
<property name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
- <property name="toolbar_style">GTK_TOOLBAR_BOTH</property>
<property name="tooltips">True</property>
<property name="show_arrow">True</property>