LINUX.ORG.RU

gtk, emit-signal crash


0

0

посылаю сигнал из хэндлера, обрабатывающего другой сигнал, примерно так -

(g-signal-connect event-box "button-release-event"
			      #'(lambda (w event)
				  ;...
	          		    (emit-signal draw-area "expose-event")))
				  

(g-signal-connect draw-area "expose-event"
;...
)
в реалтайме непосредственно при отсылке этого сигнала получаю -
Unhandled memory fault at #x3317.
   [Condition of type SB-SYS:MEMORY-FAULT-ERROR]

Restarts:
 0: [RETURN-FROM-G-CLOSURE] Return value from closure
 1: [TERMINATE-THREAD] Terminate this thread (#<THREAD "cl-gtk2 main thread" RUNNING {C884309}>)

Backtrace:
  0: (SB-SYS:MEMORY-FAULT-ERROR)
      [No Locals]
  1: ("foreign function: #x80643BB")
  2: ("foreign function: #x80646F0")
  3: ("foreign function: #xB61006F0")
  4: ("foreign function: #xB610645E")
  5: (GOBJECT.FFI:G-VALUE-UNSET #.(SB-SYS:INT-SAP #X081DAEE4))

Сигнал expose-event имеет аргумент GdkEventExpose, который вы не предоставляете.

Вероятно, более полезным будет использовать функцию gtk:widget-queue-draw.

dmitry_vk ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.