From a4bd9f7713d1e0687bc76837451b19288acf34c7 Mon Sep 17 00:00:00 2001 From: micha Date: Wed, 4 Oct 2006 22:21:04 +0000 Subject: [PATCH] fix pointer type conversions git-svn-id: trunk@10039 - --- components/codetools/keywordfunclists.pas | 4 +-- components/codetools/stdcodetools.pas | 2 +- debugger/cmdlinedebugger.pp | 2 +- debugger/gdbmidebugger.pp | 2 +- designer/jitforms.pp | 6 ++--- ideintf/propedits.pp | 4 +-- lcl/include/pixmap.inc | 2 +- lcl/include/treeview.inc | 7 ++--- lcl/include/winapi.inc | 4 +-- lcl/interfaces/gtk/gtkcallback.inc | 4 +-- lcl/interfaces/gtk/gtklistsl.inc | 2 +- lcl/interfaces/gtk/gtklistviewcallback.inc | 2 +- lcl/interfaces/gtk/gtkobject.inc | 8 +++--- lcl/interfaces/gtk/gtkproc.inc | 4 +-- lcl/interfaces/gtk/gtkproc.pp | 8 +++--- lcl/interfaces/gtk/gtkwinapi.inc | 26 +++++++++---------- lcl/interfaces/gtk/gtkwscalendar.pp | 4 +-- lcl/interfaces/gtk/gtkwscontrols.pp | 4 +-- lcl/interfaces/gtk/gtkwscustomlistview.inc | 18 ++++++------- lcl/interfaces/gtk/gtkwsstdctrls.pp | 2 +- lcl/interfaces/win32/win32int.pp | 2 +- lcl/interfaces/win32/win32proc.pp | 2 +- lcl/interfaces/win32/win32wscontrols.pp | 2 +- .../win32/win32wscustomlistview.inc | 6 ++--- lcl/interfaces/win32/win32wsdialogs.pp | 4 +-- lcl/interfaces/win32/win32wsextctrls.pp | 4 +-- lcl/interfaces/win32/win32wsforms.pp | 6 ++--- lcl/interfaces/win32/win32wsstdctrls.pp | 2 +- 28 files changed, 72 insertions(+), 71 deletions(-) diff --git a/components/codetools/keywordfunclists.pas b/components/codetools/keywordfunclists.pas index 6429835045..97758cbbbb 100644 --- a/components/codetools/keywordfunclists.pas +++ b/components/codetools/keywordfunclists.pas @@ -143,8 +143,8 @@ begin l:=length(s); SetLength(Result,l); if l>0 then begin - pDest:=@Result[1]; - pSrc:=@s[1]; + pDest:=PWord(@Result[1]); + pSrc:=PWord(@s[1]); l2:=(l shr 1)-1; for i:=0 to l2 do pDest[i]:=UpWords[pSrc[i]]; diff --git a/components/codetools/stdcodetools.pas b/components/codetools/stdcodetools.pas index 4d3d67356f..2f9f663566 100644 --- a/components/codetools/stdcodetools.pas +++ b/components/codetools/stdcodetools.pas @@ -4125,7 +4125,7 @@ var // read all property infos of current class TypeData:=GetTypeData(TypeInfo); // skip unitname - PropInfo:=(@TypeData^.UnitName+Length(TypeData^.UnitName)+1); + PropInfo:=PPropInfo(@TypeData^.UnitName+Length(TypeData^.UnitName)+1); // read property count CurCount:=PWord(PropInfo)^; inc(PtrInt(PropInfo),SizeOf(Word)); diff --git a/debugger/cmdlinedebugger.pp b/debugger/cmdlinedebugger.pp index 20d05253c3..8ab49dfaab 100644 --- a/debugger/cmdlinedebugger.pp +++ b/debugger/cmdlinedebugger.pp @@ -154,7 +154,7 @@ begin {$IFdef MSWindows} var PipeHandle: Integer; - TotalBytesAvailable: integer; + TotalBytesAvailable: dword; R: LongBool; n: integer; begin diff --git a/debugger/gdbmidebugger.pp b/debugger/gdbmidebugger.pp index ecde944b0c..922229fa18 100644 --- a/debugger/gdbmidebugger.pp +++ b/debugger/gdbmidebugger.pp @@ -1356,7 +1356,7 @@ procedure TGDBMIDebugger.InterruptTarget; if hThread = 0 then begin E := GetLastError; - FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM or FORMAT_MESSAGE_ALLOCATE_BUFFER, nil, E, 0, @Emsg, 0, nil); + FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM or FORMAT_MESSAGE_ALLOCATE_BUFFER, nil, E, 0, PChar(@Emsg), 0, nil); DebugLN('Error creating remote thread: ' + String(EMsg)); // Yuck ! // mixing handles and pointers, but it is how MS documented it diff --git a/designer/jitforms.pp b/designer/jitforms.pp index 2713256e3f..aecaf21e45 100644 --- a/designer/jitforms.pp +++ b/designer/jitforms.pp @@ -447,7 +447,7 @@ begin Result:=Result+' UnitName="'+TypeData^.UnitName+'"'; // skip unitname - PropInfo:=(@TypeData^.UnitName+Length(TypeData^.UnitName)+1); + PropInfo:=PPropInfo(@TypeData^.UnitName+Length(TypeData^.UnitName)+1); // read property count CurCount:=PWord(PropInfo)^; Result:=Result+' CurPropCnt='+IntToStr(CurCount); @@ -488,14 +488,14 @@ begin end; end; Result:=Result+'}'; - FieldInfo := @FieldTable^.Fields; + FieldInfo := @FieldTable^.Fields[0]; Result := Result + ' Fields={'; for i := 0 to FieldTable^.FieldCount-1 do begin if i > 0 then Result:=Result+','; Result := Result + IntToStr(i) + ':Name="' + FieldInfo^.Name + '"' + ':Offset=' +IntToStr(FieldInfo^.FieldOffset); - FieldInfo := @FieldInfo^.Name + 1 + Length(FieldInfo^.Name); + FieldInfo := PFieldInfo(@FieldInfo^.Name + 1 + Length(FieldInfo^.Name)); {$ifndef FPC_REQUIRES_PROPER_ALIGNMENT} FieldInfo := Align(FieldInfo, SizeOf(Pointer)); {$endif FPC_REQUIRES_PROPER_ALIGNMENT} diff --git a/ideintf/propedits.pp b/ideintf/propedits.pp index 3f013bb904..f4a34182a4 100644 --- a/ideintf/propedits.pp +++ b/ideintf/propedits.pp @@ -1478,7 +1478,7 @@ begin // read all property infos of current class TypeData:=GetTypeData(TypeInfo); // skip unitname - PropInfo:=(@TypeData^.UnitName+Length(TypeData^.UnitName)+1); + PropInfo:=PPropInfo(@TypeData^.UnitName+Length(TypeData^.UnitName)+1); // read property count CurCount:=PWord(PropInfo)^; inc(PtrInt(PropInfo),SizeOf(Word)); @@ -1610,7 +1610,7 @@ begin PropData:=AlignToPtr(Pointer(@TypeData^.UnitName)+Length(TypeData^.UnitName)+1); // read property count CurCount:=PropData^.PropCount; - PropInfo:=@PropData^.PropList; + PropInfo:=PPropInfo(@PropData^.PropList); {writeln('TPropInfoList.Create D ',CurCount,' TypeData^.ClassType=',DbgS(TypeData^.ClassType)); writeln('TPropInfoList.Create E ClassName="',TypeData^.ClassType.ClassName,'"', diff --git a/lcl/include/pixmap.inc b/lcl/include/pixmap.inc index c5f01968f7..ec94c2c6eb 100644 --- a/lcl/include/pixmap.inc +++ b/lcl/include/pixmap.inc @@ -194,7 +194,7 @@ begin Move(TrimmedXPM[1],Result[LineCount+1],DestPos); // calculate the array of PChar - LineStart:=@Result[LineCount+1]; + LineStart:=PChar(@Result[LineCount+1]); for CurLine:=0 to LineCount-1 do begin LineLen:=StrLen(LineStart)+1; Result[CurLine]:=LineStart; diff --git a/lcl/include/treeview.inc b/lcl/include/treeview.inc index 5120b2651d..8c06cde260 100644 --- a/lcl/include/treeview.inc +++ b/lcl/include/treeview.inc @@ -2171,7 +2171,8 @@ end; procedure TTreeNodes.ReadData(Stream: TStream); var I, NewCount, MagicNumber: Integer; - NodeInfo: TDelphiNodeInfo; + NodeInfo: TTreeNodeInfo; + DelphiNodeInfo: TDelphiNodeInfo; StreamVersion: word; begin Clear; @@ -2188,14 +2189,14 @@ begin // delphi stream NewCount:=MagicNumber; for I := 0 to NewCount - 1 do - Add(nil, '').ReadDelphiData(Stream, @NodeInfo); + Add(nil, '').ReadDelphiData(Stream, @DelphiNodeInfo); end; end; procedure TTreeNodes.WriteData(Stream: TStream); var ANode: TTreeNode; - NodeInfo: TDelphiNodeInfo; + NodeInfo: TTreeNodeInfo; MagicNumber: integer; begin // -7 for lcl stream diff --git a/lcl/include/winapi.inc b/lcl/include/winapi.inc index 7a73df01b3..13315e1c0e 100644 --- a/lcl/include/winapi.inc +++ b/lcl/include/winapi.inc @@ -948,7 +948,7 @@ begin lfClipPrecision := ClipPrecision; lfQuality := Quality; lfPitchAndFamily := PitchAndFamily; - StrLCopy(@lfFaceName, FaceName, SizeOf(lfFaceName)-1); + StrLCopy(@lfFaceName[0], FaceName, SizeOf(lfFaceName)-1); end; Result := CreateFontIndirect(LogFont); @@ -1374,4 +1374,4 @@ begin Result := not IsRectEmpty(DestRect); end; -//##apiwiz##epi## // Do not remove \ No newline at end of file +//##apiwiz##epi## // Do not remove diff --git a/lcl/interfaces/gtk/gtkcallback.inc b/lcl/interfaces/gtk/gtkcallback.inc index 31d16b3c07..47a5fdc7d7 100644 --- a/lcl/interfaces/gtk/gtkcallback.inc +++ b/lcl/interfaces/gtk/gtkcallback.inc @@ -36,7 +36,7 @@ begin else PaintMsg:=TLMPaint(TheMessage); Result := DeliverMessage(Target,PaintMsg) = 0; - FinalizePaintMessage(@PaintMsg); + FinalizePaintMessage(PLMessage(@PaintMsg)); end; {------------------------------------------------------------------------------- @@ -3049,7 +3049,7 @@ begin BufLength:=0; gdk_string_to_compound_text(P, @SelectionData^.{$ifdef GTK2}_Type{$ELSE}theType{$ENDIF}, - @SelectionData^.Format,@Buffer,@BufLength); + @SelectionData^.Format,pguchar(@Buffer),@BufLength); StrDispose(P); gtk_selection_data_set(SelectionData,SelectionData^.Target, SelectionData^.Format,Buffer,BufLength); diff --git a/lcl/interfaces/gtk/gtklistsl.inc b/lcl/interfaces/gtk/gtklistsl.inc index 071202298f..a9e5e61ec4 100644 --- a/lcl/interfaces/gtk/gtklistsl.inc +++ b/lcl/interfaces/gtk/gtklistsl.inc @@ -1160,7 +1160,7 @@ begin GetMem(CS, CSize); FillChar(CS^, sizeof(TCSArr), 0); StrPCopy(CS^.Str, S); - CS^.Arr[0] := @CS^.Str; + CS^.Arr[0] := @CS^.Str[0]; for K := 1 to 15 do begin CS^.Arr[K] := StrScan(CS^.Arr[K-1], #9); if Assigned(CS^.Arr[K]) diff --git a/lcl/interfaces/gtk/gtklistviewcallback.inc b/lcl/interfaces/gtk/gtklistviewcallback.inc index 6d7b60ad3f..d355486571 100644 --- a/lcl/interfaces/gtk/gtklistviewcallback.inc +++ b/lcl/interfaces/gtk/gtklistviewcallback.inc @@ -55,7 +55,7 @@ begin NM.hdr.code := LVN_COLUMNCLICK; NM.iItem := -1; NM.iSubItem := AColumn; - msg.NMHdr := @NM; + msg.NMHdr := @NM.hdr; Result := DeliverMessage(AData, msg) = 0; end; diff --git a/lcl/interfaces/gtk/gtkobject.inc b/lcl/interfaces/gtk/gtkobject.inc index 13dff700d8..6a1cb2c00f 100644 --- a/lcl/interfaces/gtk/gtkobject.inc +++ b/lcl/interfaces/gtk/gtkobject.inc @@ -707,7 +707,7 @@ begin begin if (List^.Data <> nil) then begin - gdk_window_get_user_data(PGDKWindow(List^.Data), @Window); + gdk_window_get_user_data(PGDKWindow(List^.Data), Pgpointer(@Window)); if GtkWidgetIsA(PGtkWidget(Window), GTK_TYPE_WINDOW) and gtk_widget_visible(PGtkWidget(Window)) then begin @@ -2535,7 +2535,7 @@ begin If (GDKWindow <> nil) then begin {$IFDEF Gtk1} - if GDKWindow<>@gdk_root_window then begin + if GDKWindow<>PGdkWindow(@gdk_root_window) then begin GDK_Window_Get_Size(GDKWindow,@Width,@Height); Visual:=gdk_window_get_visual(GDKWindow); end else begin @@ -5030,7 +5030,7 @@ begin {$IFDEF DebugGDK}BeginGDKErrorTrap;{$ENDIF} Drag_Icon := gdk_pixmap_colormap_create_from_xpm_d (nil, gtk_widget_get_colormap (Result), Drag_Mask, - nil, @IMGDrag_Icon); + nil, @IMGDrag_Icon[0]); {$IFDEF DebugGDK}EndGDKErrorTrap;{$ENDIF} end; end else begin @@ -5604,7 +5604,7 @@ begin else P:= gtk_radio_button_new_with_label(nil, AccelText); AccelKey:=gtk_label_parse_uline( - pGtkLabel(gtk_bin_get_child(@PGTKToggleButton(P)^.Button)), + pGtkLabel(gtk_bin_get_child(PGtkBin(@PGTKToggleButton(P)^.Button))), AccelText); Accelerate(TComponent(Sender),PGtkWidget(P),AccelKey,0,'clicked'); StrDispose(AccelText); diff --git a/lcl/interfaces/gtk/gtkproc.inc b/lcl/interfaces/gtk/gtkproc.inc index 4429b3a1e0..629559f63c 100644 --- a/lcl/interfaces/gtk/gtkproc.inc +++ b/lcl/interfaces/gtk/gtkproc.inc @@ -1021,7 +1021,7 @@ begin XEvent.data.l[0] := Ord(AValue);// 0=Remove 1=Add 2=Toggle XEvent.data.l[1] := _NET_WM_STATE_ATOMS[I]; - XSendEvent(XDisplay, XRootWindow, False, SubstructureNotifyMask, @XEvent); + XSendEvent(XDisplay, XRootWindow, False, SubstructureNotifyMask, PXEvent(@XEvent)); end; {$ENDIF} end; @@ -7375,7 +7375,7 @@ Function GetSysGCValues(Color: TColorRef; Result:=Widget; if Result=nil then exit; if Result^.window=nil then exit; - gdk_window_get_user_data(Result^.window,@WindowOwnerWidget); + gdk_window_get_user_data(Result^.window,PGPointer(@WindowOwnerWidget)); Result:=WindowOwnerWidget; if Result=nil then exit; end; diff --git a/lcl/interfaces/gtk/gtkproc.pp b/lcl/interfaces/gtk/gtkproc.pp index 15ed6c7ce9..362c12695d 100644 --- a/lcl/interfaces/gtk/gtkproc.pp +++ b/lcl/interfaces/gtk/gtkproc.pp @@ -1146,7 +1146,7 @@ begin XEvent.format := 32; XEvent.data.l[0] := Desktop; - XSendEvent(XDisplay, XRootWindow, False, SubstructureNotifyMask, @XEvent); + XSendEvent(XDisplay, XRootWindow, False, SubstructureNotifyMask, PXEvent(@XEvent)); end; @@ -1180,7 +1180,7 @@ begin XEvent.data.l[1] := CurrentTime; XEvent.data.l[2] := 0; // Applications current active window - XSendEvent(XDisplay, aXRootWindow, False, SubstructureNotifyMask, @XEvent); + XSendEvent(XDisplay, aXRootWindow, False, SubstructureNotifyMask, PXEvent(@XEvent)); end; procedure GDK_WINDOW_MAXIMIZE(Window: PGdkWindowPrivate); @@ -1216,7 +1216,7 @@ begin XEvent.data.l[1] := _NET_WM_STATE_MAXIMIZED_HORZ; XEvent.data.l[2] := _NET_WM_STATE_MAXIMIZED_VERT; - XSendEvent(XDisplay, aXRootWindow, False, SubstructureNotifyMask, @XEvent); + XSendEvent(XDisplay, aXRootWindow, False, SubstructureNotifyMask, PXEvent(@XEvent)); end; @@ -1236,7 +1236,7 @@ var format: gint; nitems: gulong; bytes_after: gulong; - windowstates: Pgint; + windowstates: Pcuchar; X: Integer; begin diff --git a/lcl/interfaces/gtk/gtkwinapi.inc b/lcl/interfaces/gtk/gtkwinapi.inc index 012258751c..21a6f5fc61 100644 --- a/lcl/interfaces/gtk/gtkwinapi.inc +++ b/lcl/interfaces/gtk/gtkwinapi.inc @@ -1037,22 +1037,22 @@ begin case lbHatch of HS_BDIAGONAL: GObject^.GDIBrushPixmap := gdk_bitmap_create_from_data( - nil, @HATCH_BDIAGONAL, 8, 8); + nil, pgchar(@HATCH_BDIAGONAL[0]), 8, 8); HS_CROSS: GObject^.GDIBrushPixmap := gdk_bitmap_create_from_data( - nil, @HATCH_CROSS, 8, 8); + nil, pgchar(@HATCH_CROSS[0]), 8, 8); HS_DIAGCROSS: GObject^.GDIBrushPixmap := gdk_bitmap_create_from_data( - nil, @HATCH_DIAGCROSS, 8, 8); + nil, pgchar(@HATCH_DIAGCROSS[0]), 8, 8); HS_FDIAGONAL: GObject^.GDIBrushPixmap := gdk_bitmap_create_from_data( - nil, @HATCH_FDIAGONAL, 8, 8); + nil, pgchar(@HATCH_FDIAGONAL[0]), 8, 8); HS_HORIZONTAL: GObject^.GDIBrushPixmap := gdk_bitmap_create_from_data( - nil, @HATCH_HORIZONTAL, 8, 8); + nil, pgchar(@HATCH_HORIZONTAL[0]), 8, 8); HS_VERTICAL: GObject^.GDIBrushPixmap := gdk_bitmap_create_from_data( - nil, @HATCH_VERTICAL, 8, 8); + nil, pgchar(@HATCH_VERTICAL[0]), 8, 8); else RaiseGDBException('invalid lbHatch'); end; @@ -2991,7 +2991,7 @@ var Points[1].cY := Points[0].cY; {Draw prefix line} - Polyline(DC, @Points[0], 2); + Polyline(DC, PPoint(@Points[0]), 2); end; end; @@ -4184,7 +4184,7 @@ begin begin if (List^.Data <> nil) then begin - gdk_window_get_user_data(PGDKWindow(List^.Data), @Window); + gdk_window_get_user_data(PGDKWindow(List^.Data), Pgpointer(@Window)); if gtk_is_window(Window) then begin Widget := Window^.focus_widget; @@ -4710,7 +4710,7 @@ function TGtkWidgetSet.GetCursorPos(var lpPoint: TPoint ): Boolean; {$IFDEF unix} var dpy: PDisplay; - root, child: pointer; + root, child: twindow; winx, winy: Integer; xmask: Cardinal; @@ -4721,7 +4721,7 @@ begin {$ENDIF} try dpy := gdk_display; - XQueryPointer(dpy, RootWindow(dpy, DefaultScreen(dpy)), @root,@child, + XQueryPointer(dpy, RootWindow(dpy, DefaultScreen(dpy)), @root, @child, @lpPoint.X,@lpPoint.Y,@winx,@winy,@xmask); Result := True; finally @@ -4984,7 +4984,7 @@ begin begin if (List^.Data <> nil) then begin - gdk_window_get_user_data(PGDKWindow(List^.Data), @Window); + gdk_window_get_user_data(PGDKWindow(List^.Data), Pgpointer(@Window)); if gtk_is_window(Window) then begin @@ -9552,13 +9552,13 @@ begin Points[0].cY := Y + 2 + DCTextMetric.TextMetric.tmHeight - DCTextMetric.TextMetric.tmDescent; Points[1].cY := Points[0].cY; - Polyline(DC, @Points[0], 2); + Polyline(DC, PPoint(@Points[0]), 2); end; If StrikeOut then begin Points[0].cY := Y + 2 + (TxtPt.Y - Y) div 2; Points[1].cY := Points[0].cY; - Polyline(DC, @Points[0], 2); + Polyline(DC, PPoint(@Points[0]), 2); end; DeleteObject(SelectObject(DC, TempPen)); diff --git a/lcl/interfaces/gtk/gtkwscalendar.pp b/lcl/interfaces/gtk/gtkwscalendar.pp index a1ee6c8dfd..3b939d179e 100644 --- a/lcl/interfaces/gtk/gtkwscalendar.pp +++ b/lcl/interfaces/gtk/gtkwscalendar.pp @@ -67,7 +67,7 @@ end; class function TGtkWSCustomCalendar.GetDateTime(const ACalendar: TCustomCalendar): TDateTime; var - Year, Month, Day: word; //used for csCalendar + Year, Month, Day: guint; //used for csCalendar begin gtk_calendar_get_date(GetGtkCalendar(ACalendar), @Year, @Month, @Day); //For some reason, the month is zero based. @@ -135,4 +135,4 @@ initialization //////////////////////////////////////////////////// RegisterWSComponent(TCustomCalendar, TGtkWSCustomCalendar); //////////////////////////////////////////////////// -end. \ No newline at end of file +end. diff --git a/lcl/interfaces/gtk/gtkwscontrols.pp b/lcl/interfaces/gtk/gtkwscontrols.pp index 55e90dd938..dd6a4a6fd0 100644 --- a/lcl/interfaces/gtk/gtkwscontrols.pp +++ b/lcl/interfaces/gtk/gtkwscontrols.pp @@ -581,9 +581,9 @@ begin aLabel := Ampersands2Underscore(PLabel); Try gtk_label_set_text( - pGtkLabel(gtk_bin_get_child(@PGTKToggleButton(p)^.Button)), + pGtkLabel(gtk_bin_get_child(PGtkBin(@PGTKToggleButton(p)^.Button))), aLabel); - gtk_label_parse_uline(pGtkLabel(gtk_bin_get_child(@PGTKToggleButton(p)^.Button)), + gtk_label_parse_uline(pGtkLabel(gtk_bin_get_child(PGtkBin(@PGTKToggleButton(p)^.Button))), aLabel); Finally StrDispose(aLabel); diff --git a/lcl/interfaces/gtk/gtkwscustomlistview.inc b/lcl/interfaces/gtk/gtkwscustomlistview.inc index 459d2ca68b..b224352f92 100644 --- a/lcl/interfaces/gtk/gtkwscustomlistview.inc +++ b/lcl/interfaces/gtk/gtkwscustomlistview.inc @@ -69,7 +69,7 @@ begin NM.hdr.code := LVN_COLUMNCLICK; NM.iItem := -1; NM.iSubItem := AColumn; - msg.NMHdr := @NM; + msg.NMHdr := @NM.hdr; Result := DeliverMessage(AInfo^.LCLObject, msg) = 0; end; @@ -89,7 +89,7 @@ begin NM.hdr.hwndfrom := PtrInt(AList); NM.hdr.code := LVN_DELETEITEM; NM.iItem := AnOldIdx; - msg.NMHdr := @NM; + msg.NMHdr := @NM.hdr; r := DeliverMessage(AInfo^.LCLObject, msg) = 0; NM.hdr.code := LVN_INSERTITEM; @@ -114,7 +114,7 @@ begin NM.iSubItem := AColumn; NM.uNewState := LVIS_SELECTED; NM.uChanged := LVIF_STATE; - msg.NMHdr := @NM; + msg.NMHdr := @NM.hdr; Result := DeliverMessage(AInfo^.LCLObject, msg) = 0; end; @@ -132,7 +132,7 @@ begin NM.iSubItem := AColumn; NM.uOldState := LVIS_SELECTED; NM.uChanged := LVIF_STATE; - msg.NMHdr := @NM; + msg.NMHdr := @NM.hdr; Result := DeliverMessage(AInfo^.LCLObject, msg) = 0; end; @@ -152,7 +152,7 @@ begin NM.iSubItem := 0; NM.uNewState := LVIS_FOCUSED; NM.uChanged := LVIF_STATE; - msg.NMHdr := @NM; + msg.NMHdr := @NM.hdr; Result := DeliverMessage(AInfo^.LCLObject, msg) = 0; end; @@ -178,7 +178,7 @@ begin NM.iSubItem := -1; NM.uNewState := LVIS_SELECTED; NM.uChanged := LVIF_STATE; - msg.NMHdr := @NM; + msg.NMHdr := @NM.hdr; Result := DeliverMessage(AInfo^.LCLObject, msg) = 0; end; end; @@ -205,7 +205,7 @@ begin NM.iSubItem := -1; NM.uOldState := LVIS_SELECTED; NM.uChanged := LVIF_STATE; - msg.NMHdr := @NM; + msg.NMHdr := @NM.hdr; Result := DeliverMessage(AInfo^.LCLObject, msg) = 0; end; end; @@ -625,7 +625,7 @@ var Mask: PGdkBitmap; Spacing: guint8; Text: PChar; - Dummy1, Dummy2: Pointer; + Dummy1, Dummy2: PGdkBitmap; CellType: TGtkCellType; begin if not WSCheckHandleAllocated(ALV, 'ItemSetImage') @@ -768,7 +768,7 @@ var Pixmap: PGdkPixmap; Mask: PGdkBitmap; Spacing: guint8; - Dummy: Pointer; + Dummy: pgchar; CellType: TGtkCellType; begin if not WSCheckHandleAllocated(ALV, 'ItemSetText') diff --git a/lcl/interfaces/gtk/gtkwsstdctrls.pp b/lcl/interfaces/gtk/gtkwsstdctrls.pp index 5b19506a1d..022cf5f505 100644 --- a/lcl/interfaces/gtk/gtkwsstdctrls.pp +++ b/lcl/interfaces/gtk/gtkwsstdctrls.pp @@ -982,7 +982,7 @@ class procedure TGtkWSCustomMemo.AppendText(const ACustomMemo: TCustomMemo; const AText: string); var Widget: PGtkWidget; - CurMemoLen: cardinal; + CurMemoLen: gint; begin if Length(AText) = 0 then exit; diff --git a/lcl/interfaces/win32/win32int.pp b/lcl/interfaces/win32/win32int.pp index 8feb63fc65..f994d6b39c 100644 --- a/lcl/interfaces/win32/win32int.pp +++ b/lcl/interfaces/win32/win32int.pp @@ -24,7 +24,7 @@ Unit Win32Int; -{$mode objfpc}{$H+} +{$mode objfpc}{$H+}{$T-}{$message warning Fix implicit pointer conversions} Interface diff --git a/lcl/interfaces/win32/win32proc.pp b/lcl/interfaces/win32/win32proc.pp index 1cff781433..52873982e5 100644 --- a/lcl/interfaces/win32/win32proc.pp +++ b/lcl/interfaces/win32/win32proc.pp @@ -1028,7 +1028,7 @@ begin if Window = PDisableWindowsInfo(Data)^.NewModalWindow then exit; // Don't disable any ComboBox listboxes - if (GetClassName(Window, @Buffer, sizeof(Buffer))