Merged revision(s) 51947 #0c321120f7, 53471 #7308974a80, 53475 #385348cde8 from trunk:

turbopower_ipro: Fix browser example crashing at program end.
........
TurboPower_iPro: Register TIpHtmlDataProvider (fixes issue #0031020)
........
TurboPower_iPro: Fix HotURL containing Content-Type instead of URL (patch by Sei Lisa, issue #31030)
........

git-svn-id: branches/fixes_1_6@53588 -
This commit is contained in:
maxim 2016-12-06 23:08:21 +00:00
parent fb4a982a85
commit b4b9f41803
6 changed files with 11 additions and 8 deletions

1
.gitattributes vendored
View File

@ -4341,6 +4341,7 @@ components/turbopower_ipro/languages/iputils.uk.po svneol=native#text/plain
components/turbopower_ipro/languages/iputils.zh_CN.po svneol=native#text/plain components/turbopower_ipro/languages/iputils.zh_CN.po svneol=native#text/plain
components/turbopower_ipro/make_icons.bat svneol=native#text/plain components/turbopower_ipro/make_icons.bat svneol=native#text/plain
components/turbopower_ipro/tipfiledataprovider.png -text svneol=unset#image/png components/turbopower_ipro/tipfiledataprovider.png -text svneol=unset#image/png
components/turbopower_ipro/tiphtmldataprovider.png -text
components/turbopower_ipro/tiphtmlpanel.png -text svneol=unset#image/png components/turbopower_ipro/tiphtmlpanel.png -text svneol=unset#image/png
components/turbopower_ipro/tiphttpdataprovider.png -text svneol=unset#image/png components/turbopower_ipro/tiphttpdataprovider.png -text svneol=unset#image/png
components/turbopower_ipro/turbopoweripro.lpk svneol=native#text/pascal components/turbopower_ipro/turbopoweripro.lpk svneol=native#text/pascal

View File

@ -1,3 +1,4 @@
tipfiledataprovider.png tipfiledataprovider.png
tiphtmlpanel.png tiphtmlpanel.png
tiphttpdataprovider.png tiphttpdataprovider.png
tiphtmldataprovider.png

View File

@ -403,7 +403,7 @@ end;
procedure Register; procedure Register;
begin begin
RegisterComponents('IPro', [TIpFileDataProvider]); RegisterComponents('IPro', [TIpFileDataProvider, TIpHTMLDataProvider]);
end; end;

View File

@ -14191,9 +14191,9 @@ begin
raise EIpHtmlException.Create(SHtmlNoDataProvider); raise EIpHtmlException.Create(SHtmlNoDataProvider);
if not FDataProvider.DoCheckURL(St, ResourceType) then if not FDataProvider.DoCheckURL(St, ResourceType) then
raise EIpHtmlException.Create(SHtmlResUnavail + St); raise EIpHtmlException.Create(SHtmlResUnavail + St);
St := LowerCase(ResourceType); ResourceType := LowerCase(ResourceType);
if ( Pos('text/', St) = 0) and (pos('image/', St) = 0) then begin if ( Pos('text/', ResourceType) <> 1) and (pos('image/', ResourceType) <> 1) then begin
FViewer.FHotURL := St; FViewer.FHotURL := St;
FViewer.DoHotClick; FViewer.DoHotClick;
Result := True; Result := True;
@ -14380,12 +14380,13 @@ begin
raise EIpHtmlException.Create(SHtmlResUnavail + St); raise EIpHtmlException.Create(SHtmlResUnavail + St);
IsImage := False; IsImage := False;
S := nil; S := nil;
if pos('image/', LowerCase(ResourceType)) <> 0 then begin ResourceType := Lowercase(ResourceType);
if pos('image/', ResourceType) = 1 then begin
IsImage := True; IsImage := True;
S := BuildImagePage(St); S := BuildImagePage(St);
end else end else
if Pos('text/', LowerCase(ResourceType)) = 0 then begin if Pos('text/', ResourceType) <> 1 then begin
FViewer.FHotURL := St; FViewer.FHotURL := St;
FViewer.DoHotClick; FViewer.DoHotClick;
Exit; Exit;
@ -15131,8 +15132,7 @@ begin
raise EIpHtmlException.Create(SHtmlNoDataProvider); raise EIpHtmlException.Create(SHtmlNoDataProvider);
if (FMasterFrame = nil) if (FMasterFrame = nil)
or ((FMasterFrame <> nil) and (not FMasterFrame.IsExternal(URL))) then begin or ((FMasterFrame <> nil) and (not FMasterFrame.IsExternal(URL))) then begin
if (FMasterFrame <> nil) if (FMasterFrame <> nil) and (FMasterFrame.FHtml <> nil) then
and (FMasterFrame.FHtml <> nil) then
FDataProvider.DoLeave(FMasterFrame.FHtml); FDataProvider.DoLeave(FMasterFrame.FHtml);
FMasterFrame.Free; FMasterFrame.Free;
FMasterFrame := nil; FMasterFrame := nil;
@ -15228,7 +15228,8 @@ begin
if (Operation = opRemove) then if (Operation = opRemove) then
if (AComponent = DataProvider) then begin if (AComponent = DataProvider) then begin
DataProvider := nil; DataProvider := nil;
FMasterFrame.RemoveDataProvider; if Assigned(FMasterFrame) then
FMasterFrame.RemoveDataProvider;
end; end;
inherited Notification(AComponent, Operation); inherited Notification(AComponent, Operation);
end; end;

Binary file not shown.

After

Width:  |  Height:  |  Size: 292 B