Package: lazarus-ide
Version: 0.9.28.2-7
Severity: wishlist
Tags: patch

Find attached a patch that avoids trapping some FPU exceptions, since C
code handles them differently, or that the CPU exception flag is
leftover from the C library function call which C code wouldn't bother
but FPC needs it to be explicitly cleared upon the function return.

Upstream:
http://mantis.freepascal.org/view.php?id=15840
Ubuntu bug for Winff with the background:
https://bugs.launchpad.net/bugs/521818
Ubuntu bug for lazarus with the same fix proposed:
https://bugs.launchpad.net/bugs/529469

Paul

-- System Information:
Debian Release: squeeze/sid
  APT prefers lucid-updates
  APT policy: (500, 'lucid-updates'), (500, 'lucid-security'), (500,
'lucid')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-14-generic (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages lazarus-ide depends on:
ii  dpkg                    1.15.5.6ubuntu1  Debian package management
system
ii  fp-compiler             2.2.4-5          Free Pascal - Compiler
ii  fp-units-base           2.2.4-5          Free Pascal - base units
ii  fp-units-fcl            2.2.4-5          Free Pascal - Free
Component Libra
ii  fp-units-gtk2           2.2.4-5          Free Pascal - GTK+ 2.x units
ii  fp-units-rtl [fpc-abi-2 2.2.4-5          Free Pascal - Runtime Library
ii  lazarus-src             0.9.28.2-7build1 IDE for Free Pascal - LCL
Sources
ii  libatk1.0-0             1.29.4-0ubuntu1  The ATK accessibility toolkit
ii  libc6                   2.11.1-0ubuntu3  Embedded GNU C Library:
Shared lib
ii  libglib2.0-0            2.23.4-1ubuntu1  The GLib library of C routines
ii  libgtk2.0-0             2.19.6-1ubuntu1  The GTK+ graphical user
interface
ii  libpango1.0-0           1.26.2-1         Layout and rendering of
internatio
ii  libx11-6                2:1.3.2-1ubuntu3 X11 client-side library

Versions of packages lazarus-ide recommends:
pn  fpc                       <none>         (no description available)
ii  gdb                       7.0.1-2ubuntu2 The GNU Debugger

Versions of packages lazarus-ide suggests:
pn  fp-utils                      <none>     (no description available)

-- no debconf information

Origin: http://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/lcl/interfaces/gtk2/gtk2wsstdctrls.pp?r1=23028&r2=23695&pathrev=23695&root=lazarus&view=patch
Bug: http://mantis.freepascal.org/view.php?id=0015627
Description: Fixes memory leak in lazarus-ide: redo clearing of listbox
 selection
Author: Paul Ishenin, upstream
Forwarded: not-needed

Index: lazarus-0.9.28.2/lcl/interfaces/gtk2/gtk2wsstdctrls.pp
===================================================================
--- lazarus-0.9.28.2.orig/lcl/interfaces/gtk2/gtk2wsstdctrls.pp	2010-02-23 14:18:45.000000000 +0000
+++ lazarus-0.9.28.2/lcl/interfaces/gtk2/gtk2wsstdctrls.pp	2010-02-23 14:18:57.000000000 +0000
@@ -475,16 +475,6 @@
   WidgetInfo: PWidgetInfo;
   Selection: PGtkTreeSelection;
   Path: PGtkTreePath;
-
-  procedure ClearCursor; inline;
-  begin
-    if gtk_tree_row_reference_valid(PGtkTreeView(Widget)^.priv^.cursor) then
-    begin
-      gtk_tree_row_reference_free(PGtkTreeView(Widget)^.priv^.cursor);
-      PGtkTreeView(Widget)^.priv^.cursor := nil;
-    end;
-  end;
-  
 begin
   if not WSCheckHandleAllocated(ACustomListBox, 'SetItemIndex') then
     Exit;
@@ -510,7 +500,9 @@
   end
   else
   begin
-    ClearCursor;
+    Path := gtk_tree_path_new_from_indices(0, -1);
+    if PGtkTreeView(Widget)^.priv^.tree <> nil then
+      gtk_tree_view_set_cursor(PGtkTreeView(Widget), Path, nil, False);
     gtk_tree_selection_unselect_all(Selection);
   end;
 

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to