summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--capplets/common/theme-thumbnail.c72
1 files changed, 55 insertions, 17 deletions
diff --git a/capplets/common/theme-thumbnail.c b/capplets/common/theme-thumbnail.c
index 4fb96402..a3111374 100644
--- a/capplets/common/theme-thumbnail.c
+++ b/capplets/common/theme-thumbnail.c
@@ -593,12 +593,17 @@ message_from_capplet (GIOChannel *source,
}
/* Write the pixbuf's size */
- write (pipe_from_factory_fd[1], &width, sizeof (width));
- write (pipe_from_factory_fd[1], &height, sizeof (height));
+
+ if (write (pipe_from_factory_fd[1], &width, sizeof (width)) == -1)
+ perror ("write error");
+
+ if (write (pipe_from_factory_fd[1], &height, sizeof (height)) == -1)
+ perror ("write error");
for (i = 0; i < height; i++)
{
- write (pipe_from_factory_fd[1], pixels + rowstride * i, width * gdk_pixbuf_get_n_channels (pixbuf));
+ if (write (pipe_from_factory_fd[1], pixels + rowstride * i, width * gdk_pixbuf_get_n_channels (pixbuf)) == -1)
+ perror ("write error");
}
if (pixbuf)
@@ -761,33 +766,63 @@ send_thumbnail_request (gchar *thumbnail_type,
gchar *icon_theme_name,
gchar *application_font)
{
- write (pipe_to_factory_fd[1], thumbnail_type, strlen (thumbnail_type) + 1);
+ if (write (pipe_to_factory_fd[1], thumbnail_type, strlen (thumbnail_type) + 1) == -1)
+ perror ("write error");
if (gtk_theme_name)
- write (pipe_to_factory_fd[1], gtk_theme_name, strlen (gtk_theme_name) + 1);
+ {
+ if (write (pipe_to_factory_fd[1], gtk_theme_name, strlen (gtk_theme_name) + 1) == -1)
+ perror ("write error");
+ }
else
- write (pipe_to_factory_fd[1], "", 1);
+ {
+ if (write (pipe_to_factory_fd[1], "", 1) == -1)
+ perror ("write error");
+ }
if (gtk_color_scheme)
- write (pipe_to_factory_fd[1], gtk_color_scheme, strlen (gtk_color_scheme) + 1);
+ {
+ if (write (pipe_to_factory_fd[1], gtk_color_scheme, strlen (gtk_color_scheme) + 1) == -1)
+ perror ("write error");
+ }
else
- write (pipe_to_factory_fd[1], "", 1);
+ {
+ if (write (pipe_to_factory_fd[1], "", 1) == -1)
+ perror ("write error");
+ }
if (marco_theme_name)
- write (pipe_to_factory_fd[1], marco_theme_name, strlen (marco_theme_name) + 1);
+ {
+ if (write (pipe_to_factory_fd[1], marco_theme_name, strlen (marco_theme_name) + 1) == -1)
+ perror ("write error");
+ }
else
- write (pipe_to_factory_fd[1], "", 1);
+ {
+ if (write (pipe_to_factory_fd[1], "", 1) == -1)
+ perror ("write error");
+ }
if (icon_theme_name)
- write (pipe_to_factory_fd[1], icon_theme_name, strlen (icon_theme_name) + 1);
+ {
+ if (write (pipe_to_factory_fd[1], icon_theme_name, strlen (icon_theme_name) + 1) == -1)
+ perror ("write error");
+ }
else
- write (pipe_to_factory_fd[1], "", 1);
+ {
+ if (write (pipe_to_factory_fd[1], "", 1) == -1)
+ perror ("write error");
+ }
if (application_font)
- write (pipe_to_factory_fd[1], application_font, strlen (application_font) + 1);
+ {
+ if (write (pipe_to_factory_fd[1], application_font, strlen (application_font) + 1) == -1)
+ perror ("write error");
+ }
else
- write (pipe_to_factory_fd[1], "Sans 10", strlen ("Sans 10") + 1);
-
+ {
+ if (write (pipe_to_factory_fd[1], "Sans 10", strlen ("Sans 10") + 1) == -1)
+ perror ("write error");
+ }
}
static GdkPixbuf *
@@ -1032,8 +1067,11 @@ theme_thumbnail_factory_init (int argc, char *argv[])
gint child_pid;
#endif
- pipe (pipe_to_factory_fd);
- pipe (pipe_from_factory_fd);
+ if (pipe (pipe_to_factory_fd) == -1)
+ perror ("pipe error");
+
+ if (pipe (pipe_from_factory_fd) == -1)
+ perror ("pipe error");
/* Apple's CoreFoundation classes must not be used from forked
* processes. Since freetype (and thus GTK) uses them, we simply