Fix graph not updated when changing function and theme switch

This commit is contained in:
Alvaro Muñoz 2017-04-23 01:29:57 +02:00
parent aa20044766
commit 78737c3f7b
2 changed files with 36 additions and 28 deletions

View File

@ -199,29 +199,29 @@ BBGraph.prototype.render = function() {
}
});
if (r2ui.graph_panel.minimap) {
update_minimap();
$("#minimap_area").draggable({
containment: "parent",
stop: function( event, ui ) {
var delta_x = ui.position.left/scale;
var delta_y = ui.position.top/scale;
if (delta_x < 0) delta_x = 0;
if (delta_y < 0) delta_y = 0;
if ($("#radareApp_mp").length) {
//$("#main_panel").scrollTo({ top:delta_y, left:delta_x - delta/scale } );
console.log(1);
} else {
//$('#center_panel').scrollTo({ top:delta_y, left:delta_x - delta/scale } );
console.log('debug:');
console.log(delta_y, delta_x, scale);
console.log($('#center_panel'));
}
}
});
} else {
$("#minimap").hide();
}
// if (r2ui.graph_panel.minimap) {
// update_minimap();
// $("#minimap_area").draggable({
// containment: "parent",
// stop: function( event, ui ) {
// var delta_x = ui.position.left/scale;
// var delta_y = ui.position.top/scale;
// if (delta_x < 0) delta_x = 0;
// if (delta_y < 0) delta_y = 0;
// if ($("#radareApp_mp").length) {
// //$("#main_panel").scrollTo({ top:delta_y, left:delta_x - delta/scale } );
// console.log(1);
// } else {
// //$('#center_panel').scrollTo({ top:delta_y, left:delta_x - delta/scale } );
// console.log('debug:');
// console.log(delta_y, delta_x, scale);
// console.log($('#center_panel'));
// }
// }
// });
// } else {
// $("#minimap").hide();
// }
};
@ -585,7 +585,7 @@ function html_for_instruction(ins) {
if (info !== null && info !== undefined && info.length > 0)
idump += '<div class="ec_fname">(fcn) ' + info[0].name + '</div>';
} catch (err) {
console.log("Error getting instruction information from afij command");
console.log("Error getting instruction information from afij command: " + err);
}
// Get function variables

View File

@ -16,6 +16,7 @@
#include <QFont>
#include <QUrl>
#include <QWebEngineSettings>
#include <QWebEngineProfile>
MemoryWidget::MemoryWidget(MainWindow *main) :
QDockWidget(main),
@ -1509,18 +1510,22 @@ void MemoryWidget::fillOffsetInfo(QString off)
void MemoryWidget::create_graph(QString off)
{
// No Cache enabled in 5.7
// ui->graphWebView->page()->profile()->setHttpCacheType(QWebEngineProfile::NoCache);
// force reload by first loading a blank page
// this is a workaround since it shows a white glitch
ui->graphWebView->setUrl(QUrl("about:blank"));
ui->graphWebView->setZoomFactor(0.85);
//this->main->add_debug_output("Graph Offset: '" + off + "'");
this->main->add_debug_output("Graph Offset: '" + off + "'");
if (off == "")
{
off = "0x0" + this->main->core->cmd("s").split("0x")[1].trimmed();
}
QString fcn = this->main->core->cmdFunctionAt(off);
//QString fcn = this->main->core->cmdFunctionAt(off);
//this->main->add_debug_output("Graph Fcn: " + fcn);
ui->graphWebView->setUrl(QUrl("qrc:/graph/html/graph/index.html#" + off));
QString port = this->main->core->config("http.port");
ui->graphWebView->page()->runJavaScript(QString("r2.root=\"http://localhost:%1\"").arg(port));
}
@ -1875,11 +1880,14 @@ void MemoryWidget::switchTheme(bool dark)
if (dark)
{
ui->webSimpleGraph->page()->setBackgroundColor(QColor(64, 64, 64));
ui->graphWebView->page()->runJavaScript("r2ui.graph_panel.render('dark');");
}
else
{
ui->webSimpleGraph->page()->setBackgroundColor(QColor(255, 255, 255));
ui->graphWebView->page()->runJavaScript("r2ui.graph_panel.render('light');");
}
//ui->graphWebView->reload();
}
void MemoryWidget::on_opcodeDescButton_clicked()