чтение из переменной вызывает sigfault (gint r = widget->style->black_gc->colormap->colors->red)

Модератор: Модераторы разделов

zls
Сообщения: 26

чтение из переменной вызывает sigfault

Сообщение zls »

gint r = widget->style->black_gc->colormap->colors->red;

данный код вызывает sigfault
что не так

не говоря уже о:
widget->style->black_gc->colormap->colors->red = 255;
тем более sigfault...



в конечном итоге хочется чтобы при выводе в область "рисования", то что не отрисовано закрашивалось определенным цветом:
gdk_draw_pixbuf(pixmap,widget->style->black_gc,pixbuf[block_buff[n]],0,0,tx,ty,IMG_W,IMG_H,-1,-1,-1);

gtk_widget_queue_draw_area (widget,tx,ty,IMG_W,IMG_H);

но пока оно все с белым фоном, единственный выход закрасить сначала эту область квадратиками с определенным цветом, а эти квадратики загрузить как картинку из файла.

Есть идеи?
Спасибо сказали:
Аватара пользователя
Luinnar
Сообщения: 246
ОС: Solaris, Debian, Ubuntu

Re: чтение из переменной вызывает sigfault

Сообщение Luinnar »

zls писал(а):
16.09.2008 08:53
gint r = widget->style->black_gc->colormap->colors->red;

данный код вызывает sigfault
что не так

не говоря уже о:
widget->style->black_gc->colormap->colors->red = 255;
тем более sigfault...



в конечном итоге хочется чтобы при выводе в область "рисования", то что не отрисовано закрашивалось определенным цветом:
gdk_draw_pixbuf(pixmap,widget->style->black_gc,pixbuf[block_buff[n]],0,0,tx,ty,IMG_W,IMG_H,-1,-1,-1);

gtk_widget_queue_draw_area (widget,tx,ty,IMG_W,IMG_H);

но пока оно все с белым фоном, единственный выход закрасить сначала эту область квадратиками с определенным цветом, а эти квадратики загрузить как картинку из файла.

Есть идеи?

Какой-то из указателей в этом списке либо нулевой, либо инициализирован мусором.
widget->style->black_gc->colormap->colors-
Спасибо сказали:
d_n_k
Сообщения: 636
ОС: Gentoo GNU/Linux

Re: чтение из переменной вызывает sigfault

Сообщение d_n_k »

gint r = widget->style->black_gc->colormap->colors->red;

ковыряться в кишках не самывй лучший и переносимый подход.

Код: Выделить всё

gtk_widget_get_style
->black_gc->
gdk_gc_get_colormap



Код: Выделить всё

typedef struct {
  gint      size;
  GdkColor *colors;
} GdkColormap;


gint size; For pseudo-color colormaps, the number of colors in the colormap.

для какого цвета меняет поле red?
все сказанное есть имхо...
Спасибо сказали:
sim1
Сообщения: 155
ОС: GNU,BSD

Re: чтение из переменной вызывает sigfault

Сообщение sim1 »

используйте gdb ну или printf чтобы понять, в чем проблема ..
Спасибо сказали: