Sat Apr 3 03:00:22 EDT 2010 Andy Stewart <laz...@gm...>
* Fix a bug of Editable signal "insertText".
Ignore-this: e75192d1521bee73faf2dec69ab03794
hunk ./gtk/Graphics/UI/Gtk/Entry/Editable.chs.pp 293
-insertText :: EditableClass self => Signal self (String -> Int -> Int -> IO ())
-insertText = Signal (connect_STRING_INT_INT__NONE "insert-text")
+insertText :: EditableClass self => Signal self (String -> Int -> IO Int)
+insertText = Signal (connect_STRINGPTR_INT__INTPTR "insert-text")
+
+-- | Singal helper functions.
+connect_STRINGPTR_INT__INTPTR ::
+ EditableClass self => SignalName ->
+ ConnectAfter -> self ->
+ (String -> Int -> IO Int) ->
+ IO (ConnectId self)
+connect_STRINGPTR_INT__INTPTR signal after obj user =
+ connectGeneric signal after obj
+ (\strPtr strLen posPtr -> do
+ str <- if strLen<0 then peekUTFString strPtr
+ else peekUTFStringLen (strPtr, strLen)
+ pos <- peek (posPtr :: Ptr {#type gint#})
+ pos' <- user str (fromIntegral pos)
+ poke (posPtr :: Ptr {#type gint#}) (fromIntegral pos')
+ )
|